An Introduction to Software Testing
By L. Baresi, Mauro Pezzè. FoVMT, 2006
1,297 citations recorded by the source corpus.
The development of large software systems is a complex and error prone process. Faults might occur at any development stage and they must be identified and removed as early as possible to stop their propagation and reduce verification costs. Quality engineers must be involved in the development process since the very early phases to identify required qualities and estimate their impact on the development process. Their tasks span over the whole development cycle and go beyond the product deployment through maintenance and post mortem analysis. Developing and enacting an effective quality process is not a simple task, but it requires that we integrate many quality-related activities with product characteristics, process organization, available resources and skills, and budget constraints. This paper discusses the main characteristics of a good quality process, then surveys the key testing phases and presents modern functional and model-based testing approaches.
Subfields: Information Systems, Software
View Paper: https://www.semanticscholar.org/paper/bd701166ecd1c3cd992bf68bdc675f3ec7f26c97
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Information Systems
In Software
Citations in the corpus
- DeepRoad: GAN-Based Metamorphic Testing and Input Validation Framework for Autonomous Driving Systems (2018, methodology): “To ensure the quality of software systems, many software testing techniques have been proposed in the literature [11, 29], where typically, a set of specific test cases are generated to test if the software programs perform as expected.”
- Guiding Deep Learning System Testing Using Surprise Adequacy (2018, background): “Most notably, traditional white-box testing techniques that aim to increase structural coverage [4] is not very useful for DL systems, as their behaviour is not explicitly encoded in their control flow structures.”
- Using Machine Learning Safely in Automotive Software: An Assessment and Adaption of Software Process Requirements in ISO 26262 (2018, methodology): “2 Methods from Black Box Software Testing Existing methods from black-box software testing such as input domain partitioning, boundary value analysis and coverage metrics [51] can inform the creation of data set requirements.”
- Machine Learning Testing: Survey, Landscapes and Horizons (2019, background): “Software testing refers to any activity that aims to detect the differences between existing and required behaviour [4].”
- A Systematic Review of the Application and Empirical Investigation of Search-Based Test Case Generation (2010, background): “Amman and Offutt [40] define a test case to be composed of test case values, expected results, prefix values, and postfix values necessary for a complete execution and evaluation of the software under test.”