Download - Software Testing or Quality Assurance
![Page 1: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/1.jpg)
Software Testing
Presented By : Pushpendra Singh
Designation : Senior QA at Trimantra Software solution
![Page 2: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/2.jpg)
What is software testing ?
Software testing is a process to investigation about the quality.
Or
Process of finding defect i.e. variancebetween Expected and actual result.
![Page 3: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/3.jpg)
Why ? What ? How? Who?
Why to test ?
What to test ?
How to test ?
Who test ?
![Page 4: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/4.jpg)
Why is testing necessary ?software testing is necessary to make sure theproduct 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.
![Page 5: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/5.jpg)
Why is testing necessary ?
Software should be
Error free as per requirement
Efficient
Secured
![Page 6: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/6.jpg)
Start Testing-when?
Testing starts right from the requirementsphase and continues till the release time .
![Page 7: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/7.jpg)
Participations in testing
Customer
User
Developer
Tester
Auditor
![Page 8: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/8.jpg)
Common problems in thesoftware development process ?
Poor requirements
Unrealistic schedule
Features
Miscommunication
![Page 9: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/9.jpg)
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.
![Page 10: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/10.jpg)
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
![Page 11: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/11.jpg)
Software Development Life Cycle (SDLC)
The seven stages of SDLC process are
Requirement Gathering
Analysis.
Design
Development
Testing
Implementation
Maintenance
![Page 12: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/12.jpg)
There are few recognized models.....
Water Fall Model
Prototype Model
Incremental Model
RAD (Rapid Application Development) Model
Spiral Model
V Model
Agile Model
SDLC Models
![Page 13: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/13.jpg)
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).
![Page 14: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/14.jpg)
Requirements Analysis
Test Planning
Test Analysis
Test Design
Test Construction and Verification
Test Execution and Bug Reporting
Final Testing and Implementation
Post Implementation
STLC Stages
![Page 15: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/15.jpg)
Verification and Validation
Requirement review
Requirement
Functional specification
CODE REVIEW
Design Build software
Code
Release For use
Build system
Functional space review
Design Review
Unit testing
Integration testing
System testing
Acceptance testing
![Page 16: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/16.jpg)
Verification also known as quality assurance.Static testing is done on this.
Walkthrough Inspection Technical review Audit
Verification
![Page 17: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/17.jpg)
Validation
Validation typically involves actualtesting and takes place after theverifications are complete.
Validation determines the correctness of a final build with respect to its requirements.
Validation checks whether we are building the right product.
![Page 18: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/18.jpg)
Levels Of Testing Unit Testing
Integration Testing
System Testing
User Acceptance Testing
![Page 19: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/19.jpg)
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.
Unit Testing
![Page 20: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/20.jpg)
Functionality testing
Smoke testing
Sanity testing
Functional Testing Type
![Page 21: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/21.jpg)
Recovery Testing Compatibility Testing Configuration Testing Inter system Testing Installation Testing performance Testing Load Testing Stress Testing Data Volume TestingSecurity testing
Non-Functionality Testing Type
![Page 22: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/22.jpg)
Usability Testing
Use interface (GUI)
Manual support testing
![Page 23: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/23.jpg)
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 )
![Page 24: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/24.jpg)
Test Case Design methods:
Equivalence Class partitioning method
Boundary value analysis
Decision Tables
State transition testing
Use case based testing
Error guessing
Black box testing
![Page 25: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/25.jpg)
White box Testing
Testing based on analysis of internal logic (design,code, etc.).
White-box testing techniques apply primarily tolower levels of testing (e.g., unit and component).
Targets to check control flow, looping, dataflow, allthe nodes and paths.
Mandatory to have a knowledge of code in which the system is designed.
![Page 26: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/26.jpg)
White Box - testing techniques
Statement coverage
Decision coverage
Condition Coverage
![Page 27: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/27.jpg)
Statement coverage
Execute all the statements at least once
Weakest form of coverage as it requires every line of code to be checked ?
![Page 28: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/28.jpg)
Decision coverage (Branch coverage)
Exercise all logical decision on their true or false sides.
To test the branch we must oncecheck the true condition and once the false condition
True
False
?
![Page 29: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/29.jpg)
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
![Page 30: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/30.jpg)
Condition Coverage
?
1 2
? ?
123
?
?
1 2 3 4
![Page 31: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/31.jpg)
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
![Page 32: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/32.jpg)
Read AIF 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
Cyclomatic Complexity
![Page 33: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/33.jpg)
![Page 34: Software Testing or Quality Assurance](https://reader030.vdocuments.mx/reader030/viewer/2022032620/55ce1e40bb61eb96638b4852/html5/thumbnails/34.jpg)