1 / 34

Software Testing or Quality Assurance

software testing is necessary to make sure the product or application is defect free, as per customer specifications. Software testing identifies fault whose removal increases the software Quality and Increases the software reliability.Testing effort is directly proportional to the complexity of the program.

trimantra
Download Presentation

Software Testing or Quality Assurance

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Testing Presented By : Pushpendra Singh Designation : Senior QA at Trimantra Software solution

  2. What is software testing ? Software testing is a process to investigation about the quality. Or Process of finding defect i.e. variance between Expected and actual result.

  3. Why ? What ? How? Who? • Why to test ? • What to test ? • How to test ? • Who test ?

  4. Why is testing necessary ? software testing is necessary to make sure the product or application is defect free, as per customer specifications. Software testing identifies fault whose removal increases the software Quality and Increases the software reliability. Testing effort is directly proportional to the complexity of the program.

  5. Why is testing necessary ? • Software should be • Error free as per requirement • Efficient • Secured

  6. Start Testing-when? Testing starts right from the requirements phase and continues till the release time .

  7. Participations in testing • Customer • User • Developer • Tester • Auditor

  8. Common problems in the software development process ? • Poor requirements • Unrealistic schedule • Features • Miscommunication

  9. Misconception • Anyone can test software : no particular skill • is required . • Tester can test the quality at the end of the project • Defects found means blaming to the developers.

  10. What are the skill required for testing? Strong Desired for quality and attention to details Ability to understand the point of customer, what He / She want Good understanding with developer and tester. judgment skill “Things to break” attitude

  11. Software Development Life Cycle (SDLC) • The seven stages of SDLC process are • Requirement Gathering • Analysis. • Design • Development • Testing • Implementation • Maintenance

  12. SDLC Models • There are few recognized models..... • Water Fall Model • Prototype Model • Incremental Model • RAD (Rapid Application Development) Model • Spiral Model • V Model • Agile Model

  13. Software Testing Life Cycle (STLC) Software Testing is not a just a single activity. It consists of series of activities carried out methodologically to help certify your software product. These activities (stages) constitute the Software Testing Life Cycle (STLC).

  14. STLC Stages • Requirements Analysis • Test Planning • Test Analysis • Test Design • Test Construction and Verification • Test Execution and Bug Reporting • Final Testing and Implementation • Post Implementation

  15. Verification and Validation Requirement Requirement review Release For use Acceptance testing Build system System testing Functional specification Functional space review Design Design Review Build software Integration testing Unit testing Code CODE REVIEW

  16. Verification • Verification also known as quality assurance. • Static testing is done on this. • Walkthrough • Inspection • Technical review • Audit

  17. Validation Validation typically involves actual testing and takes place after the verifications are complete. Validation determines the correctness of a final build with respect to its requirements. Validation checks whether we are building the right product.

  18. Levels Of Testing • Unit Testing • Integration Testing • System Testing • User Acceptance Testing

  19. Unit Testing Unit - smallest testable piece of software. Unit testing is process of testing the smallest/ individual component of program. Unit test is a procedure used to validate that individual unit of source code is working properly. Before entering into the unit testing it should be gone through code review. Tests the functionality of units. Typically done by the developers and not by testers. It is typically used to verify control flow, data flow and memory leak problems.

  20. Functional Testing Type • Functionality testing • Smoke testing • Sanity testing

  21. Non-Functionality Testing Type • Recovery Testing • Compatibility Testing • Configuration Testing • Inter system Testing • Installation Testing • performance Testing • Load Testing • Stress Testing • Data Volume Testing • Security testing

  22. Usability Testing • Use interface (GUI) • Manual support testing

  23. Black Box and White box Techniques Black Box Testing Black box testing is testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions. (also called as Behavioral testing, Functional testing, Data driven testing, I/O driven testing) White Box Testing White box testing is testing that takes into account the internal mechanism of a system or component. (also called as Structural testing, Glass box testing, Transparent-box and Clear box Testing )

  24. Black box testing • Test Case Design methods: • Equivalence Class partitioning method • Boundary value analysis • Decision Tables • State transition testing • Use case based testing • Error guessing

  25. White box Testing Testing based on analysis of internal logic (design, code, etc.). White-box testing techniques apply primarily to lower levels of testing (e.g., unit and component). Targets to check control flow, looping, dataflow, all the nodes and paths. Mandatory to have a knowledge of code in which the system is designed.

  26. White Box - testing techniques • Statement coverage • Decision coverage • Condition Coverage

  27. Statement coverage • Execute all the statements at least once • Weakest form of coverage as itrequires • every line of code to be checked ?

  28. Decision coverage (Branch coverage) Exercise all logical decision on their true or false sides. To test the branch we must once check the true condition and once the false condition False ? True

  29. Condition Coverage Execute each decision with all possible outcomes at least once It requires all cases. Checks each of the ways condition can be made true or false

  30. 1 2 3 4 ? 2 3 2 1 1 ? ? ? ? Condition Coverage

  31. Cyclomatic Complexity It is important to testers because it provides an indication of the amount of testing. Cyclomatic complexity is defined as control flow graph G, cyclomatic complexity V(G): V(G)= E-N+2 Where N is the number of nodes in G E is the number of edges in G

  32. Cyclomatic Complexity Read A IF A < 0 THEN Print ?A negative? ENDIF IF A > 0 THEN Print ?A positive? ENDIF Cyclomatic complexity= 3 E-N+2 8-7+2=3

More Related