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
What’s release testing?
Testing that is intended to be used outside of the development team by convincing the supplier that it is good enough use
Black-box testing which focuses on the specification
What’s user testing?
Get user and customer’s feedback and advice
• Essential after doing a release testing
What are the forms of user testing?
• Alpha testing
- Working with the development team to test the software at the developer’s site
• Beta testing
- Made available to users to allow experiment and raise any problems that they may discover
• Acceptance testing
- Customers test to decide if the software is ready and accepted by developers and deployed to customers- used for _bespoke systems _
What’s statistical testing?
Involves exercising the program by randomly generating test cases to see if it has reached the required level of quality measuring:
• Reliability and the performance
• Test cases for defect testing are a typical of actual usage
• Targets the anticipated environment
What does statistical testing activites esabilsh and test?
Establishes the operational profile
Needed to generate random test cases
Testing the system known as “Oracle” testing between test cases
Whats inference procedure?
- Performance measures
- Reliability measures
Whats Statistical testing for reliability?
- Responsible for handling a number of test cases correctly and others incorrectly
- The Oracle has to be able to handle a number of tests
How do you test Oracle problem?
Building a good Oracle solution:
• Limiting coverage by detecting crashes
• Implements plausibility checks