Software Testing
Software Testing
Dedicated to my
PREFACE
1 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Software Testing
Foundation Program in Software Engineering
Introduction:
Testing: Testing an application to detect differences between existing and the required
condition and evaluate the features of the software application.
Manual Testing: Testing activities performed by the people (Testers) without the
help of any Software Testing Tools.
*** Testing is based on user requirements. This is done in order to find out any defects
that might be the cause of the program or system to fail in meeting the client
requirements.
Software Application: A set of Computer program and minimal data use to run a
system is called software.
1) Projects 2) Products
Errors: Any incorrect human action that produces a problem in the system is called
an error.
Defect: Deviation from the expected behavior to the actual behavior of the system is
called defect.
Failure: The deviation identified by end-user while using the system is called a failure.
2 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
1) Requirement Capturing
2) Analysis
3) Design
4) Coding
5) Testing
6) Implementation
7) Support / Maintenance.
Sony will prepare and distribute the RFP to selected vendors (Software
Companies).
Software companies respond to the RFP with their proposal (Information
about the company, Technical solution, Delivery Schedule, Budget, Time Line
and deliverable etc.)
If Sony likes the proposal of any vendor, then it will sign the Statement of
Work (SOW) with that vendor.
Then a project kick off meeting (it’s a high level meeting between the Senior
Manager, CTO and Project Managers) is conducted.
Identify the Project Manager.
The Project Manager will prepare Project Management Plan (PMP).
After a high level meeting with the customer Business team/Technical team
will release Business Requirement Specification (BRS).
BRS is a high level document containing project requirement from customer.
3 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Person should be domain expert/functional expert is eligible to convert the
BRS into SRS (Software Requirement Specification)
QA and Testing:
Development:
Based on the approval, the SRS Software Architecture will design the model
of the project (Blue Print / Prototype)
Model Contains:
1) Architectural Design
2) Database Design
3) User Interface Design
4) All UML Diagram
5) Use Case
6) Class
7) Object
8) Sequence
9) Collaboration
10) 9.1) Activity
11) Deployment………….
Review and approval of design document and mapping it with the design
documents.
Q & A Testing:
Test Manager/Test Lead will prepare a test plan for the project
Review and Approval of test plan
Test Engineer will identify the Test Scenarios of a project ( What is to be
Tested)
Review and Approval of Test Scenario’s
4 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Test Engineer will prepare Test Cases of all approved Test Scenario’s
(How/what is to be tested).
Review and approval of test cases
Development:
Q & A Testing:
Development:
Developers are going to fix the defects which are reported by testing
department.
Q & A Testing:
Once System Level Testing is approved, release the application for User
Acceptance Testing (UAT).
Perform U.A.T.
Once U.A.T. is successfully performed, release the application for product
department to create exe.
Once exe is ready perform installation testing.
5 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Once installation testing is approved implement the developed software into
customer environment and provide user training.
Provide support to the customer for defects questions issues future
enhancements.
***Note:
Presence of errors results in defects and presence of defects results in failure of the product.
Application
6 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Early Testing:
Conducting testing as soon as possible in development life cycle helps in finding
defects at an early stage and this is known as Early Testing. Early testing is
helpful to reduce the cost of fixing defects.
* Incorrect requirements
* Wrong design
* Poor coding
* Complex business logic
* Complex technology
* Work pressure
* Frequently changing requirements.
Testing: It is a process of verifying if we are developing the right product or not and
validating if the developed product is right or not.
* What is Verification?
Are we building the system right? It’s a process of checking if the system is well-
engineered. It is also called static testing.
* What is Validation?
Are we building the right system? It is a process of checking if system meets the
customer’s actual requirements. It is also called dynamic testing.
7 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Verification Vs Validation
Customer
Review Request Acceptance Testing Deploy
Requirement
1
Integrat Integration
HLD Testing
3
***** 1 , 2 , 3 , 4 , 5 , a r e V e r i f i c a t i o n a n d o t h e r s i d e i s V a l i d a t i o n .
* Static Testing
* White Box Testing
* Black Box Testing
* Grey Box Testing.
8 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Acceptance
System
Integration
Component / Unit
Validation
SDLC Models
1) Waterfall Model:
9 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Customer Requirements
& Gathering
Design
Coding
Testing
Support
Waterfall Model
Customer Requirements & Gathering Analysis & Planning Design (Low Level
–High Level) Coding Testing Release & Maintenance Support.
10 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Review and Approval of each phase outputs.
Model does not permit going back and forth.
If any defect is found, you can revert to the originating phase and start
traversing sequentially all over again.
Advantages:
Project under control
Predefined outputs at every phase.
Tracking changes is easy
Early identification of slippages, if any
Dis-Advantages:
Customer requirement may change
Customer appraisal of completed work – not feasible always.
Phases cannot run concurrently.
2) Spiral Model:
In spiral model, software is developed in a series of ‘incremental’ releases
The spiral model is divided into a number of framework activities or task.
Suitable for large projects with multi-location implementation
Each spiral consists of a deliverable product.
Feed back of each spiral is incorporated in the text spiral.
Customer can start using the system after every spiral
Each spiral consists of waterfall model.
11 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Advantages:
Useful for large projects
Customer requirements evolve over a period
Early availability of usable system.
3) Prototype Model:
Advantages:
RAD enables creation of fully functional software within a very short time.
If the requirements are well defined and understood, and the project scope is
constraint, the RAD process enables a development team to create a fully
functional system within a very short time period.
12 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
6) Agile Model:
In Agile Model project is divided into various sprints
Each sprint contains High-Priority Requirements.
The time period for sprint is typically 2-4weeks.
In an Agile model, daily screen meetings with team to share status and
potential issues.
Each sprint is released to customers.
Used for critical applications.
13 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Purpose of SCM:
Establish and maintain the integrity of work products.
SCM Needs:
Multiple people have to work on software that is changing.
Projects delivering several releases (Builds)
Software must run on different machines and operating systems (Rapid
evolution of software and hardware )
14 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Major Activities:
Configuration planning & Step
Configuration identification
Configuration baseline
Change Management
Configuration release control
Configuration Audit
Control of customer property.
15 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
16 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
17 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
- RFP
- Sow (or) Work Order
- Project Plan Template
Exit Criteria to Prepare PMP:
- Scope Management
- Schedule Management
- Quality Management
- Resource Management for resources like people, tools and others.
- Communications Management
- Risk Management
- Data Management
18 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Requirement Specification
Types of requirements
Business requirement specification
Software requirement specification
Functional requirement specification
19 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
A Functional Specification document defines a software system or its
component. A function is described as a set of inputs the behaviour and
outputs.
A FRS defines how the system must behave when presented specific inputs
or conditions. These may include calculations, data manipulations,
processing and other specific functionality.
Test Plan
Test Manager (or) Test Lead (or) Test Engineer will study the approved SRS and
prepare a Test Plan for project based on the approved PMP.
- Approved SRS
- Once Test Plan is approved. Test Lead will create baseline for the Test Plan
(Test Plan 1.0V) and will update same in the configuration repository
* Definition:
1. A document describing the scope, approach, resources and schedule of testing
activities. It identifies test items, the feature to be tested, the testing tasks, who will do
each task, and any risks requiring contingency planning.
20 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
2. A detail of how the test will proceed, who will do the testing, what will be tested, in
how much time the test will take place, and to what quality level the test will be
performed.
21 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
15. Documentation
16. Approvals
17. Entry / Exit for each Testing activity
18. Test Suspension
19. Test Resumption
20. Test Completion
Test Scenario’s
* Identify all the possible areas to be tested
(or)
* What is to be tested.
22 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
TS_002 WAPR Home Page WAPR_Home Page Verify the functionality of 'Home'
TS_003 WAPR Home Page WAPR_Home Page Verify the functionality of 'About Us'
TS_004 WAPR Home Page WAPR_Home Page Verify the functionality of 'Contact Us'
TS_005 WAPR Home Page WAPR_Home Page Verify the functionality of 'Product info'
TS_006 WAPR Home Page WAPR_Home Page Verify the functionality of 'Help'
TS_007 WAPR Home Page WAPR_Home Page Verify the functionality of [Submit]
TS_008 WAPR Home Page WAPR_Home Page Verify the functionality of [Reset]
TS_009 WAPR Home Page WAPR_Home Page Verify the functionality of [Close]
23 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Test Executed
Date Executed
By
Version Build
Severity
Test Design/ Comment
TC # TS# Input Data Expected Result Actual Result Pass Fail Critical Major Moderate
Steps s
Minimal
Launch the
browser, Enter
the valid URL
www.wapr.com
and click on Should display
[GO] or Press the WAPR Home
1 [Enter] Page
Enter valid
Customer ID
and password Should display
Click on the Customer
2 [Submit] Home Page
Verify Spellings, Should not be
Fonts, any Spelling
Alignments of Mistakes, Should
Customer be a same Fonts,
3 Home Page same Alignment
Tab order should
Focus on go wih all the
'Logout'and fields according
Press tab totheir
4 Continuously occurrences
Should display a
Click on 'View View Profile
5 Profile' Page
Clicck on 'Edit Should display a
6 Profile' Edit Profile Page
Click on Should display a
'Change Change
7 Password' Password Page
Click on 'Shop Should display a
8 Now' Shop Now Page
Should display
Click on the WAPR Home
9 'Logout' Page
Close the Browser should
10 Browser be closed
24 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Test Case
25 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
* What is a testing technique?
- A procedure for selecting or designing tests based on a structure or functional
model of the software.
- Successful at finding faults
- A best practice
- A way of delivering good test cases.
- A way of objectively measuring a test effort.
26 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Here Blank is invalid
4 Valid Boundary
BVA 31
5 Invalid Boundary
30
5 to 30 ------Valid Partition
ECP <5 Invalid Partition
> 30
Project Testing
- Once all the WebPages are integrated at one level by developers they will
release the build for testing by URL’s note
- The development lead (or) Test Lead will update the build and release the
note into testing server and he will send an email to the test lead saying
that
- Build is ready for testing
- Build URL’S
Defect:
The Problem which is identified by the Test Engineer Machine is called a DEFECT or a
BUG.
Error:
The same problem which is identified by a developer machine is called an ERROR.
Failure:
A deviation from the specified or expected behaviour that is visible to the end-user, is
called a FAILURE.
Testing Approach:
27 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Traditional testing approach: Positive Testing (+ve).
Poor performance
Poor security
Incompatibility
28 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Poor usability
Objectives of Testing:
Finding defects
To make sure that the product is error free and all problems are resolved and
closed
Finally testing is helpful to deliver a quality and risk-free product to the customer.
Priority: Priority defines the importance of defect with respect to client point of view
which means how soon it should be fixed.
-- P1------Urgent
-- P2------High
-- P3------Medium
-- P4------Low
29 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
30 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
1) If the Test Engineer identifies a bug in the project, Test Engineer should report it
using Bugzilla by selecting the status, severity, found in version/build and
providing the steps with screen shots related to the bug.
2) Test Engineer will report the bug to the Tech Lead (Development Lead) in
company at the reporting time i.e., NEW
3) Once the bug is OPEN, the developer will fix the bug. Test Engineer will be
notified about the FIXED BUG which can be retested against a new build.
4) If the bug is fixed a RE-TEST is performed and the status is changed to FIXED
VERIFIED.
5) Finally the Test Lead will verify once again and will CLOSE the Bug.
Exhaustive Testing: If you test the functionality with all possible valid inputs and
invalid inputs it is called exhaustive testing.
Salary *
*
If you check the salary field 5000, 5001, 5002 ………….50000 and 4999, 4998 etc. it is
called exhaustive testing.
31 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Risk Based Testing: Identifying the operations which most likely can cause failures
than testing these functionalities as a priority based testing is also called risk based
testing.
Pesticide Paradox: If prepared test cases are not able to find defects, add/revise the
test cases to find more defects.
The prepared test cases are not helping to find defects, add (or) modify the test cases
for better testing.
Absence of Errors is a falling: finding and fixing defects absence bug free is
impossible.
Static Testing: Verifying if we are developing the right system or not is called static
testing. It is also called verification and this static testing can be used to conduct
reviews and walk throughs.
Reviews: Examining any project related work or project related work is called
reviews.
Types of Reviews:
1) Management Reviews
2) Technical Reviews
3) Code Reviews
32 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Formal Reviews: if any review is conducted with a prior plan and by following proper
documentation and procedure then it is are called a formal reviews. Inspections and
Audits are the best example of formal reviews.
Informal Reviews: if any review is conducted without following any procedures and
documentation then it is known as informal reviews
1) Defects in requirement.
2) Defects in design.
4) To confirm if the prepared test cases are enough to validate a software or not
and also.
Dynamic Testing: It is a process of checking the source code and it also helps in
checking if the application is working as per the expectation or not.. It is also called
validation.
1) Unit Testing
2) Integration Testing
3) System Testing
Unit Testing: A smallest portion which can be separated in the source code of the
application is called unit (functions, procedures, etc) testing, which is conducted on
these units to check the code behind the units which are working as per the
expectation or not.
(or)
33 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
It is also called module testing and also component testing.
Integration Testing: Once all units are tested the programmers will combine all units
and check interactions among the units, which is called integration testing.
Note: Unit testing and integration testing is collectively called White Box Testing.
White box Testing: Testing conducted on the source code by developers to check if
the source code is working as per the expectation or not is called white box testing.
***** White box testing is also called as glass box, structural testing, and clear box testing.
34 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
System Testing: Validating the functional and non functional requirements of the
system is called system testing.
Functional System testing will be conducted both in a positive perception and also in a
negative perception.
***Note:
Positive testing helps in checking if the customer requirements are justifying the application or not.
***Note :
Negative testing is helpful to find defects in the software.
Functional System Testing Approach: is also called Smoke Testing (or) Security
Testing. It is a kind of quick test (or) rough test carried out on the application to
determine whether the application is testable or not.
Formal Testing: If you tested software application has all the procedures and proper
documentation, then it is called a formal testing.
Adhoc Testing: If you test software had not followed any procedures and
documentation then it is called adhoc-testing. It is also called informal testing. If you
tested the application as per your wish without any pre-defined procedure then it is
called an adhoc testing.
Risk Based Testing (or) Priority Based Testing: Identifying the critical functionality
in the system and then deciding the order in which the functionalities are to be tested
and applying testing procedure and
35 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
(or) Conducting testing in the same order is called risk based testing (or) priority
based testing.
End to End Testing: Testing the overall functionalities of the system including the
data integration among all the modules is called end-to-end testing.
36 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
6) It checks consistency in background color and color font type and fond size etc.
Usability Testing: Checks how easily the end users are able to understand and
operate the application is called usability testing.
Security Testing: Validates whether all security conditions are properly implemented
in the software or not. It is called security testing.
1) It checks the secured data such as password credit card cvv number are getting
encrypted or not.
3) It checks direct URL access for the both secured and non secured pages.
8) It checks cookies.
37 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org
Practical Software Testing – E-Book by http://www.SoftwareTestingHelp.com Version 2.0
Stress Testing: Checking the application behavior under stress conditions is called
stress testing. In other words reducing the system resources and keeping the load as
constant checking and how does the application behave is called stress testing.
Recovery Testing: Checking how the system is able to handle unexpected and
unpredictable situations is called recovery testing.
Localization Testing: Checks default languages currency date and time format etc. If
it is designed for a particular locality of users is called Localization testing.
Installation Testing: Checks if new software can be installed successfully or not as per
the guidelines given in installation document is called installation testing.
Uninstallation Testing: Checks if we are able to uninstall the software from the
system successfully or not, it is called uninstallation testing.
*********************
ISTQB Sure Pass Premium Study Material – ISTQB Complete Study package
Thank you!
38 Want to learn software testing from the experts? Click here http://softwaretestinghelp.org