Advanced Automated Software Testing
Latest Publications


TOTAL DOCUMENTS

10
(FIVE YEARS 0)

H-INDEX

1
(FIVE YEARS 0)

Published By IGI Global

9781466600898, 9781466600904

Author(s):  
Kamaljeet Sandhu

Testing e-learning websites may provide an insight to characteristics that are useful and others that are not so useful to the users. From a technical or systems development perspective, such understanding may not be known till it is finally tested and used by the users. Therefore this research aims to explore the effectiveness of e-learning websites in relation to user’s perceptions (either positive or negative) that are developed when interacting with e-learning system and the features that they have to use.


Author(s):  
Natarajan Meghanathan ◽  
Alexander Roy Geoghegan

The high-level contribution of this book chapter is to illustrate how to conduct static code analysis of a software program and mitigate the vulnerabilities associated with the program. The automated tools used to test for software security are the Source Code Analyzer and Audit Workbench, developed by Fortify, Inc. The first two sections of the chapter are comprised of (i) An introduction to Static Code Analysis and its usefulness in testing for Software Security and (ii) An introduction to the Source Code Analyzer and the Audit Workbench tools and how to use them to conduct static code analysis. The authors then present a detailed case study of static code analysis conducted on a File Reader program (developed in Java) using these automated tools. The specific software vulnerabilities that are discovered, analyzed, and mitigated include: (i) Denial of Service, (ii) System Information Leak, (iii) Unreleased Resource (in the context of Streams), and (iv) Path Manipulation. The authors discuss the potential risk in having each of these vulnerabilities in a software program and provide the solutions (and the Java code) to mitigate these vulnerabilities. The proposed solutions for each of these four vulnerabilities are more generic and could be used to correct such vulnerabilities in software developed in any other programming language.


Author(s):  
Daniel Bolanos

This chapter provides practitioners in the field with a set of guidelines to help them through the process of elaborating an adequate automated testing framework to competently test automatic speech recognition systems. Through this chapter the testing process of such a system is analyzed from different angles, and different methods and techniques are proposed that are well suited for this task.


Author(s):  
Saqib Saeed ◽  
Farrukh Masood Khawaja ◽  
Zaigham Mahmood

Pervasive systems and increased reliance on embedded systems require that the underlying software is properly tested and has in-built high quality. The approaches often adopted to realize software systems have inherent weaknesses that have resulted in less robust software applications. The requirement of reliable software suggests that quality needs to be instilled at all stages of a software development paradigms, especially at the testing stages of the development cycle ensuring that quality attributes and parameters are taken into account when designing and developing software. In this respect, numerous tools, techniques, and methodologies have also been proposed. In this chapter, the authors present and review different methodologies employed to improve the software quality during the software development lifecycle.


Author(s):  
Seifedine Kadry

System maintenance is a general term required to keep a system running properly. The system could be a computer system, mechanical system, or other system. The maintenance in this sense is related to the deterioration of the system due to its usage and age. This context of maintenance does not apply to software, where the deterioration due to the usage and age don’t make sense. Conventionally, the maintenance of software is concerned with modifications related to software system. These modifications come from the user needs, error correction, improvement of performance, adapt to a changed environment, and optimization.


Author(s):  
Thomas Bauer ◽  
Robert Eschbach

The standard-compliant development of component-based embedded systems calls for systematic coverage of product requirements and for testing component interactions at the system integration stage. System functionality is represented by a set of complex distributed functions, i.e., functions that are spread across several system components. This chapter presents a novel automated model-based testing approach for distributed functions that uses informal system requirements and component behavior models. The test modeling notation makes it possible to model component interactions and composite functions with defined pre- and post-conditions. Test cases are automatically generated as scenarios of distributed functions represented by sequences of component interactions.


Author(s):  
Praveen Ranjan Srivastava ◽  
D. V. Pavan Kumar Reddy ◽  
M. Srikanth Reddy ◽  
Ch. V. B. Ramaraju ◽  
I. Ch. Manikanta Nath

Test Case prioritization consists of proper organization and scheduling of the test cases in a specific sequence. Regression testing is an important issue and concept during software maintenance process, but due to scarcity of resources re-execution of all test cases, is not possible during regression testing. Hence in version or revision specific regression testing, it is more important to execute those test cases that are beneficial. In this chapter, a new prioritization technique is proposed for version specific regression testing using Cuckoo Search Algorithm. This technique prioritizes the test cases based on lines of code where the code is modified.


Author(s):  
Kamaljeet Sandhu

This research is about testing the effectiveness of Web-based e-services system. The problem facing the department is the staff resistance to accept and use e-services in their work. There are technical issues that impact negatively on staff users of the e-services system. Case analysis reveals that there are wider issues stemming from the interaction with the system which has a low impact on e-services acceptance. E-services drivers such as user training and experience, motivation, perceived usefulness and ease of use, acceptance, and usage were not clearly understood by the technical development team, hence not integrated when implementing the e-services system.


Author(s):  
Eslam Al Maghayreh

Ensuring the correctness of a distributed program is not an easy task. Testing and formal methods can play a significant role in this regard. However, testing does not allow for formal specification of the properties to be checked. On the other hand, formal methods verify that a model of a distributed system satisfies certain properties that are formally specified. However, formal methods do not guarantee that a particular implementation of the system under consideration will also satisfy all of the necessary properties. Runtime verification tries to combine some of the advantages of testing and some of the advantages of formal methods. Runtime verification works on a particular implementation of the system and at the same time it allows us to specify the properties of interest formally. In this chapter we have talked about runtime verification of distributed programs. The main components of a runtime verification framework have been presented and discussed in some details. The reasons that make runtime verification of distributed programs a difficult task have been discussed. A summarization of some of the techniques presented in the literature to simplify runtime verification of distributed programs has also been presented.


Author(s):  
Izzat Alsmadi

It is widely acknowledged that software testing stage is a stage in the software project that is time and resources’ consuming. In addition, this stage comes late in the project, usually at the time where pressure of delivery is high. Those are some reasons why major research projects in testing focus on methods to automate one or more of activities in this stage. In this chapter, description of all sub stages in software testing is explained along with possible methods to automate activities in this sub stage. The focus in this chapter is on the user interface of the software as it is one of the major components that receives a large percentage of testing. A question always raised in testing is whether full test automation is possible and if that can be feasible, possible and applicable. While 100% test automation is theoretic and impractical, given all types of activities that may occur in testing, it is hoped that a maximum coverage in test automation will be visible soon.


Sign in / Sign up

Export Citation Format

Share Document