Professional Documents
Culture Documents
• Fault –
• The result of an error being made is a fault.
• It is something that is wrong in the software
• (source code or documentation – specifications, manuals, etc.).
• Faults are also known as defects or bugs.
• Failure –
• When a system or piece of software
• produces an incorrect result or does not perform the correct action.
• Failures are caused by faults in the software.
Testing Principles
Testing Objectives
• Testing is
• We begin by ‘testing-in-the-small’
• And
• move toward ‘testing-in-the-large’
Testing Strategies for Conventional Software
1. Unit testing
2.Integration testing
• Non-incremental integration
- big-bang approach
• Incremental integration
- top down testing, bottom up integration, regression testing, smoke
testing
3.Validation testing
- acceptance testing
- alpha testing, beta testing
4.System testing
- recovery testing, security testing, stress testing
performance testing
Phases of Testing
1. Unit Testing
• A unit is the smallest testable part of software.
• In procedural programming
- a unit may be an individual program, function, procedure,
etc.
• In object-oriented programming,
- the smallest unit is a method, which may belong to
- a base/ super class, abstract class or derived/ child class.
• Individual components are tested independently
• Driver –
- a program,
- that accepts the test data & prints the relevant results
• Stub –
- a subprogram,
- that uses – module interfaces
- and
- performs minimal data manipulation
- If required
Unit Testing
module
to be
tested
results
software
engineer
test cases
Unit Testing
module
to be
tested
interface
local data structures
boundary conditions
independent paths
error handling paths
test cases
BENEFITS (Advantages) of Unit Testing
• Unit testing
- increases confidence in changing/ maintaining code.
• Uncovers errors in –
Options:
• the “big bang” approach
• an incremental construction strategy
Approaches of Integration Testing
• Non incremental integration
- big-bang approach
• Incremental integration
- top down testing
- Bottom up testing
- Regression testing
- Smoke testing
Non Incremental Integration
(Big-bang Approach)
• Steps –
• Disadvantages –
- Hard to debug
- difficult to isolate errors while testing
Incremental Integration
B F G
D E
Bottom-Up Integration
B F G
D E
35
Regression Testing
• re-execution of some subset of tests
• that have already been conducted
- to ensure that
- changes have not propagated
- unintended side effects or additional errors
• steps:
• Definition by ISTQB
system testing:
- The process of testing an integrated
system
- to verify that it meets specified
requirements.
• The system test is
• Interoperability testing
• Scalability testing
Types of System Tests
• Recovery testing
- System’s ability to recover from failures.
• Security testing
- Verifies the protection mechanism,
– unauthorized internal or external access,
- or willful damage.
• Stress testing
- Software is tested at highest load, than normal
working environment
- i.e. system is executed for –
resources in abnormal quantity, frequency or volume
• Performance testing
- runtime performance of the software is evaluated.
- resource utilization is measured.
- such as – CPU load, throughput, response time,
memory usage.
- ex. Beta testing
Acceptance Testing
Acceptance Testing
• Usually,
- it is the members of Product Management, Sales and/or
Customer Support.
• External Acceptance Testing
• is performed by people
• who are not employees of the organization that developed the
software.
• During Record ,
- test steps are captured by the automation tool.
• During playback,
- the recorded test steps are executed
- on the Application Under Test.
- Example of such tools - QTP .
Model Based Testing
• A model is a graphical description of system's
behavior.
• TC 01- Verify that the text box with the label "Source Folder" is aligned properly.
• TC 02 - Verify that the text box with the label "Package" is aligned properly.
• TC 03 – Verify that label with the name "Browse" is a button which is located at the end of TextBox
with the name "Source Folder.“
• TC 04 – Verify that label with the name "Browse" is a button which is located at the end of Text Box
with the name "Package.“
• TC 05 – Verify that the text box with the label "Name" is aligned properly.
• TC 06 – Verify that the label "Modifiers" consists of 4 radio buttons with the name public, default,
private, protected.
• TC 07 – Verify that the label "Modifiers" consists of 4 radio buttons which are aligned properly in a
row.
• TC 08 – Verify that the label "Superclass" under the label "Modifiers" consists of a
dropdown which must be proper aligned.
• TC 09 – Verify that the label "Superclass" consists of a button with the label
"Browse" on it which must be properly aligned.
• TC 10 – Verify that clicking on any radio button the default mouse pointer must be
changed to hand mouse pointer.
• TC 11 – Verify that user must not be able to type in the dropdown of "Superclass."
• TC 12 – Verify that there must be a proper error generated if something has been
mistakenly chosen.
• TC 13 - Verify that the error must be generated in the RED color wherever it is
necessary.
• TC 17 – Verify that all the pages must contain the proper title.
• Selenium
• QTP
• Cucumber
• SilkTest
• TestComplete
• Squish GUI Tester
Web Based Application Testing
Components of Web Based Testing
• Functionality Testing
- Tests, whether all functionalities of that web applications are
working properly
• Usability Testing
- Testing from users perspective
- Content checking
• Interface Testing
- Tests Interfacing of web application with other systems
- Testing of data flow to other system
• Compatibility Testing
- Tests Compatibility of web application
- with different software, operating systems, hardware etc.
What is Verification?
• Validation
• is the process of checking whether
• the specification captures the customer’s needs.
• “Did I build what I said I would?”
• Are we building the right system?
Verification Validation
2. It does not involve executing the code. 2. It always involves executing the code.
6. It can catch errors that validation cannot 6. It can catch errors that verification cannot
catch. It is low level exercise. catch. It is High Level Exercise.