Software Testing Flashcards
What is the definition of software testing
an activity to test whether the expected results matches the outcome to ensure quality software. Software testing also helps to detects gaps, error and missing requirements
What is software necessary for?
To ensure the system behaves the way it should and to keep it under control so that it does not cause harm to us. Once a software is tested and defects are identified, necessary corrections are followed up and the revised software is re-tested again
Verification
ARE WE BUILDING THE SYSTEM RIGHT??????!
Check and test the items, including the software. Is there consistency and conformance? Evaluate by comparing pre-specified requirements and results. Describes whether output are according to given inputs and if software meets specification. It uses walkthrough, inspection and reviews. Static practice of checking documents, design code and program.
Validation
ARE WE BUILDING THE RIGHT SYSTEM??? Check for system correctness. Describes whether software is accepted by user and if it meets customer’s expectations. Involves code execution and Computer based execution of programs
What are the 7 principles of software testing?
- Testing shows the presence of bugs: Testing shows that problems exist
- Exhaustive testing is impossible: Unless its a simple program, its impossible to test all data combinations. Its more effective and efficient to focus on risk and priorities.
- Early testing: A product to be tested as soon as its been created to fix errors asap.
- Defect clustering: Problems in a item of software tend to cluster around a limited set of modules or area.
- The ‘pesticide’ paradox: Repeatedly used set of test on the same software product will decrease in efficacy. Using variety of tests and techniques will expose a range of defects across different areas of the products.
- Testing is context dependent: The same tests should not be applied across the board as different software have different requirements, functions and purposes.
- Absence of error: Cannot say is error-free. Must say got hidden error, haven’t found yet
What is software defect?
A defect is a mistake in design or code that causes the software system to fail.
What is unit testing?
Focus on a single block or component of a software.
What is integration testing?
Involves 2 or more components integrated together to test.
What is system testing?
What is User Acceptance Testing
Activities of test management
- Test planning: Estimate duration and efforts of activities by planning
- Monitoring and Control: Track progress and activities
- Configuration Management: Control the versions of each release of the source files throughout the testing process.
- Incident Management: Have a proper workflow to handle incident reports raised though out the testing process