Software Testing Conceptspdf
Software Testing Conceptspdf
Software Testing Conceptspdf
✓ Poor Requirement.
✓ Poor Management Approach.
✓ Lack of experience.
✓ Unrealistic Schedule.
✓ Practical Difficulties of developing a Software.
✓ Lack of Skills and Communication.
✓ More Assumption.
Necessity of Testing or why we need testing?
Feasibility Analysis
Design
Coding
Testing
Implementation
Maintenance
Advantages of waterfall Model:
• This model is simple and easy to understand and use.
• In this model phases are processed and completed one at a time. Phases do not overlap.
• Waterfall model works well for smaller projects where requirements are clearly defined and very
well understood
Disadvantages:
• Once an application is in the testing stage, it is very difficult to go back and change something
that was not well-thought out in the concept stage.
• High amounts of risk and uncertainty
• Not a good model for complex and object-oriented projects.
• Poor model for long and ongoing projects.
• Not suitable for the projects where requirements are at a moderate to high risk of changing.
When to use the waterfall model?
• This model is used only when the requirements are very well known,
clear and fixed.
• Product definition is stable.
• Technology is understood.
• There are no indefinite requirements
• Ample resources with required expertise are available freely
• The project is short or m/c critical applications.
What is Spiral Model?
The spiral model is similar to the incremental model,
The spiral model has four phases:
✓Planning
✓ Risk Analysis
✓ Engineering
✓Evaluation
Spiral Model
SRS Prototype
Design HLD
Analyst
LLD
CRS
Documentation/Revie
w/Test
Detailed Unit/Functional
Design Testing
Coding
Advantages of V-model:
• Simple and easy to use.
• Testing activities like planning, test designing happens well before coding. This
saves a lot of time. Hence higher chance of success over the waterfall model.
• Proactive defect tracking – that is defects are found at early stage.
• Avoids the downward flow of the defects.
• Works well for small projects where requirements are easily understood.
Disadvantages of V-model:
• Very rigid and least flexible.
• Software is developed during the implementation phase, so no early prototypes
of the software are produced.
• If any changes happen in midway, then the test documents along with
requirement documents has to be updated.
When to use the V-model?
• The V-shaped model should be used for small to medium sized
projects where requirements are clearly defined and fixed.
Decision
No
Prototype design
Prototype testing
Customer review
Design
Requirements
Coding Testing
Hybrid V and Prototype.
SRS
Approved HLD
Types Of Testing
• White box / structural/glass box/unit testing
• Gray box testing
• Black box / functional testing
White Box Testing
• Technique to check the internal structure of the system.
• Entire code must be available and this is done by developers.
• Each line of code is checked.
Techniques followed in White Box :
Path testing: Each path will be tested independently .
Flow chart may be used for that.
Conditional testing: logical conditions are checked [True / False]
Loop testing: In loop testing every loop in the structure is checked for all the loop cycles.
White Box Testing not only uses the above techniques, but also
A
Rational Graph
B Quantity
Modules
Rational Purity software is a complete set of run-time
analysis tools designed for improving application
reliability and performance
Difference between White Box and Black Box Testing
1. Functional Testing
2. Integration Testing
CEO
Man1 Man2
Architect
During Integration Testing,
Module A Stub
(Built) (Dummy
Model)
Driver
3. System Testing
• Its an End to End Testing, to check whether the Product meets the
Requirement or not.
• Testing Environment will be just like the Production Environment.
Development Testing
Servers Servers
Developer Tester
Production
Environment
Server similar to
Production Environment
(Lower Configuration)
Acceptance Testing
• Testing done by Customer side to check whether Product meets the
Requirement or not.
• Testing may be done by
Customer itself
Customer’s Customer
End User
Customer can hire another Company for UAT
Acceptance
Software White Box Black Box
Testing
FT IT ST
4. Adhoc Testing
• Testing the Application Randomly(as End User does) is Adhoc.
• Requirements are not followed.
Exploratory Testing
Testing the Application by Exploring the features in it.
It is done when,
✓ There is similar kind of Application.
✓ If there is less time to understand the Application.
Environments.
S/W H/W
Macintosh
α and β Testing
α and β Testing will be done for Product based
Application.
Customers
β-Testing
Guerilla Testing
This can be done by an expert may be one who gave the
requirements.
Mutation Testing
Checking the automated script written to check the
products.
Usability Testing
User friendliness of an application like
• Accessible
• Navigation
• Look and Feel
• Easy language
• Understand
• Simple
This will be done by end users and feedbacks will be implemented and by
deriving checklists like
• Login feature should have forgot password
• Alt tags for every link and diagrams
• Link to home page at every page
• All pages should have Navigation
Accessibility Testing (ADA Testing,508 Complience Testing)
Application whether it can be used by disabled person or not. Some set of rules
are
• All features of the application should be able to accessible by keyboard
• Color combination should not be Red and Green
Application
A-prompt Results
Performance Testing
Stability and response time of an application by applying load.
Stability – withstanding the load
Response Time – Its Time taken to get a response after request
RT=T1+T2+T3
Where
T1=Time for request
T2=Execution time
T3=Getting response
Load – Number of users
Some of the tools are
• Jmeter
• Load runner
• Silk performer
• Astra load
• Web load
• Ration performance
• blazemeter
Performance Testing:
Agent Agent
M1 M3
Server
M4
M2
Main
Machine Agent Agent
With Tool
The load balancer balances the load within the server
Server 1
Data base
Request Load Balancer
Server 2
Before using load balancer the performance will be
improved by developers by optimizing the code.
A
Application
Load Balancer
C
OK
Regression Testing:
• Execution of some test cases in different releases / builds just to make
sure that changes made in an application don’t introduce defects.
• Changes may be addition , deletion , modifications , or even it may be
defect fixes.
Types of testing:
• Unit Regression : Testing only the unit / feature which had changes.
• Regional Regression : Testing the fixed defects and the related regions
which may have been effected by the changes.
System Study
RTM
Test Execution
Defect Tracking
Retrospect
Requirements:
The requirements given to the testing team may be in different forms:-
5.Use case
UsrNme
Psswd
login Cancel
Status
Advanced search will be used to avoid duplicate bugs Seviority
Priority
Search by
Environment
Release ver
Test case id
Module
Brief desc
Status
Steps to reproduce
Priority
Screenshot Attach
Search String
UN 3
Password Details
Project Name:
Release Ver:
Modules:
Create Project Owner maid id:
Edit Project Status:
Priority:
Delete Project Environment:
Add user Employee IDs:
Edit user
Delete user
Create Project
Add User
Project Name
Release Name Project
Add UID
Module: Emp Id
OK cancel
ID -007
Closed P1 Critical low
Loans ID-100
Enhancement P3
V 1.0
payments
Loans
V 1.1
payments
Alerts