Software Testing or Quality Assurance - PowerPoint PPT Presentation

About This Presentation
Title:

Software Testing or Quality Assurance

Description:

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. – PowerPoint PPT presentation

Number of Views:382

less

Transcript and Presenter's Notes

Title: Software Testing or Quality Assurance


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 review
Requirement
Release For use
Acceptance testing
Build system
System testing
Functional specification
Functional space review
Design
Design Review
Build software
Integration testing
Unit testing
CODE REVIEW
Code
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 it requires
  • 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
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-N2
Where N is the number of nodes in G E is the
number of edges in G
32
Cyclomatic Complexity
Read A IF A lt 0 THEN Print ?A
negative? ENDIF IF A gt 0 THEN Print ?A
positive? ENDIF Cyclomatic complexity 3
E-N2 8-723
33
(No Transcript)
34
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com