5. testing Flashcards
software testing
Testing is the process of executing the programme to find errors to make our software perform well. It should be error free. If testing is done successfully, it will remove all the errors from the software
- Software testing should be performed by 3rd party
- all the tests must reach customer requirements
- All the tests must be Planned before implementing it
- It follows Pereto rule(80/20 rule) It states that 80% of errors come from 20% of programme components.
- Testing should start from small parts and extend to larger
types:
1. Manual testing
2. Automation testing
Manual testing
Technique to test the software that is carried out using the functions and features of an application
- Hear a tester carries out tests on software by following a set of predefined test cases
- Testers make the test cases for the codes. Test the softwares and give the final report about the software
- It is time consuming because it is done by humans. And there is chance of human errors
Automation testing
Techniques tester writes the scripts on their own and uses suitable software or automation tool to test the software
- It is just an automation to manual process
- It allows testing repetitive tasks without the intervention Often manual tester
Types of manual testing
-
Black box testing
Tester is not Concerned with internal knowledge or implementation. Details of the software, but rather focuses on validating the functionality Based on provided specifications or requirements
types:
1) Functional testing
Verifies each function of the software application, whether it works according to the requirements and specification
2) regression testing
Process of testing modified parts of code and parts that might get affected by modification to ensure no new errors have been introduced in the software after modification
3) nonfunctional testing
cheques non functional attributes of the system -
White box testing
This technique analysis internal structures the used data structures internal design code structure and the working of the software, rather than just functionality as in black box testing
process:
1. Input
2. processing
3. proper test planning
4. output
steps:
1. Tester should understand the Codewell
2. Tester should write some code for test cases and execute them
Testing techniques:
1. statement coverage
2. Branch coverage
3. loop testing
4. condition coverage
-
grey box testing
Combination of black box testing and White box testing
Software metrics
It is quantifiable indicators of software testing process progress, quality, productivity and overall health
- It increases efficiency and effectiveness of software testing while assisting in better decision for future testing by providing accurate data about the testing process
types:
1. Process metrics
2. product metrics
3. project metrics
manual test metrics:
1) Base metrics Analysts collect data throughout the development and execution of test cases to provide base metrics
2) Calculated metrics Data from base metrics are used to Create calculator matrix
Software maintenance
Process of modifying and updating a software after its been delivered to the customer
Key aspects:
1. Bug fixing
2. enhancements
3. performance optimization
4. porting and migration
5. reengineering
6. documentation.
Re engineering steps
- Inventory analysis
- document reconstruction
- code reconstruction
- data reconstruction
- forward engineering.
Reverse engineering
- Rivers engineering is processed simil….ring, but it is carried out in rivers
- Information from pre existing given application is gathered during this step
- Rivers Engineering is the process of recovering design, req specifications and functions of a product from an analysis of its code
- It builds programme database and generates information from this
code restructuring
Includes modifying existing court to enhance its structure organisation and efficiency by ensuring the code retains its intended functionalities
forward engineering