Lecture 9: Software Testing Flashcards
What is Software failure process?
Map into unacceptable output sequences
What is operational environment?
Measures the reliability of software products and its operational environment
What must test cases consist of?
- Description of input data
- Precise description of correct output for the input data
- The results of the tests should be checked
Test cases should be written for?
- Valid and expected input conditions
- Invalid and unexpected ones
What must you check in test cases?
- That the program does not do what it is not supposed to do
- Does what it supposed to do
List the three forms of software testing
- By the scope of testing
- By the knowledge of the internal structure
- By the goal testing
Elaborate the scope of testing
- Unit testing
- Integration testing
- System testing
Elaborate the knowledge of internal structure
- Black box: the internals of the tested software are NOT known
- White box: the internals of the tested software ARE known and **made use of **
Elaboate by the goal testing
- Assessment: reliability, performance, resilience
- Debugging: fault, bugs finding
What is black box testing?
- Done in the user perspective not the designer: mainly the specification
- Tests every possible **input/demand **
- Uses sampling from the input/demand
What is white box testing?
- Test cases are derived by examining program’s logic
- Goal to have exhaustive path testing = Code coverage
What is software testing objective?
• Performance related testing
• Reliability related testing
- Debugging – selecting test cases that maximise the like hood of activating faults
- Assurance that a software is good enough
• Usability testing
How can software reliability affect the market advantage?
- Releasing a software that is unreliable will receive poor reviews
- Can be costly
- Spending too much time improving reliability pre-release prevents vendors from gaining market advantage
What is unit testing?
- Process of testing a software in different areas/units whereby verifying the functions work as expected
- A technique used to debug
What must test cases show?
- What and when it is expected to do and if the user had any problems
What are the 2 unit types of testing?
- Should show that the component works as expected
- Test case should show the abnormal inputs to properly checking for any problems with the component
What does a test coverage of a class involve?
- Testing all the operations associated with an object
- Finding possible states
What is component testing?
- Made up of interacting objects
- Are accessed through component interfaces
- Should focus on showing that the component interface behaves accordingly to its specification
• Component testing
- Errors and misunderstanding etc. - Interface failures
What does software testing involve?
- Tested during development which involves testing the components to create a version of the system and testing the entire integrated system
- Focuses on the interaction of the components
- Checks that the components are compatible and interacting correctly
- Tests the behaviour of the system
- Developed by a set of separate system testing team/sub-teams
What is use case testing?
Developed to identify the system interactions used as a basis for system testing
Testing policies check what?
The required system test coverage includes EXAMPLES:
• Accessing menus
• Text formatting
• Correct/incorrect input
What is Test driven development?
TEST-DRIVEN DEVELOPMENT is an approach to program development in which you inter-leave testing and code development
• Develop the code incrementally until one has passed the test before moving to the next increment
What are the benefits of test-driven development?
- Code coverage
- Regression testing
- Simplified debugging
- System documentation
Whats the other forms of testing?
Is to check that previously working functionality still works, after changes elsewhere in the system is made
All tests are re-run every time a change is made