230 likes | 434 Views
Software testing basic. Main contents. Why is testing necessary? What is testing? Test Design techniques Test level Test type How to write test case Bug tracker Some test management tools. Why is Testing necessary?. Different (Error-Defect-Failure) Bug life cycle Role of Testing.
E N D
Main contents • Why is testing necessary? • What is testing? • Test Design techniques • Test level • Test type • How to write test case • Bug tracker • Some test management tools
Why is Testing necessary? • Different (Error-Defect-Failure) • Bug life cycle • Role of Testing
Why is Testing necessary? • Different (Error-Defect-Failure) • Error (mistake): human action that produces an incorrect result + Mistake in analyzing + Mistake in programing… • Defect (bug, fault): error is found by tester • Fail (Failure): when the implementation of the defects are executed, failure occur in the system.
Why is Testing necessary? • Bug life cycle
Why is Testing necessary? • Role of Testing • Identify defects • Measure the software quality by: + The number of defects found + The number of test case run + Passing test reduce failure or risk in system + Failing test provide information to improve the quality of system
What is Testing? • Testing-Quality Assurance-Quality Control • Different (Testing-Debugging) • Different (Build version and Release version) • Independent testing
What is Testing? • Testing-Quality Assurance (QA)-Quality Control(QC) • QA: focus on process (define and improve the process) • QC: focus on quality of product (finding defects) • Testing is the activity of QC, includes activities: + Verification: ensures that the product is built according to the requirements and design specification + Validation: ensures that the product meets the user’s needs (customer’s needs)
What is Testing? • Different (Testing-Debugging) • Testing: + Find defects + Retest bugs + Tester tests • Debugging: + Identify the cause of bugs + Repair code + Programmer debugs
What is Testing? • Different (Build version and Release version) • Build version: is a version of a software that is still in testing • Release version: is a build version that is sent to the customer (no longer in testing).
What is Testing? • Independent testing • Test is designed by a person wrote software • Test is designed by other people from development team • Test is designed by test team • Test is designed by different organization
Test Design Techniques • Static testing techniques • Dynamic testing techniques
Test Design Techniques • Static testing techniques
Test Design Techniques • Dynamic testing techniques
Test Levels What users really need Acceptance testing Requirements System testing Design Integration testing Unit testing Code
Test Levels • Component/Unit testing • Integration testing • System testing • Acceptance testing • Alpha testing: performed by customers at the developing organization’s location • Beta testing: performed by customers at their own location
Test Types • Functional testing • Non-Functional testing • Maintenance testing
Test Types • Functional testing • Requirement based testing • Business process based testing
Test Types • Non-Functional testing • Reliability • Usability • Efficiency • Maintainability • Portability • Different (Performance testing, Load testing, Stress testing) • Performance (Time) • Load (User) • Stress (Hardware resource-CPU, RAM)
Test Types • Maintenance testing • Re-testing and Regression testing
Test case Tested date Closed date Closed version Tested version….