You are on page 1of 41

Basics of Testing

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 1


Agenda

1 Testing Overview

2 Verification and Validation

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 22


Testing Overview

Overview & Features

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 3


Objectives

 Understand the challenges of Project Development Build


 Recognize the need of a tool to automate build process & Managing
projects
 Configure Maven and check the set up
 Describe the features of Maven

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 4


Software Testing
 It is not sufficient demonstrating that the software is doing what it should
do.

 It is more important to demonstrate that the software is not doing what it


shouldn’t do

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 5


Testing Objectives

Prevention

Manage Quality

Detection

Find Defects

Demonstration

Show It Works

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 6


Definitions of Testing
 Software-testingaisaprocessaof analyzing (or) operating software for the purpose
of finding bugs.

 Testingaisatheaprocessatoaidentifyadefects, where defect is any variance


between actual and expected results.

 Softwareatestingais the process used to help identify the correctness,


completeness, security, and quality of developed computer software.

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 7


Definitions of Testing (Contd.).
 Testingaisagenerallyadescribedaas group of procedures carried out to
evaluate some aspect of a piece of software.

 Testingacanabeadescribedaas the process used for finding defects in


software, and for establishing that the software has attained specified
degree of quality with respect to selected attributes.

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 8


Issues in Testing

 Testing considered late in the project

 Requirements not testable

 Integrate after all components have been developed

 One step forward, two steps backward

 Test progress hard to measure

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 9


Why does software have bugs?
 Miscommunication or no communication

 Software complexity

 Programming errors

 Changing requirements

 Time pressures

 Poorly documented code

 software development tools

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 10


Benefits of testing?
 The prime benefit of testing is that it result in improved quality, bugs get fixed.

 We take a destructive attitude towards the program when we test, but in larger extent
our work is constructive.

 We are beating up the program in the service of making it stronger.

 Demonstrate that software functions appear to be working according to specification

 The performance requirement appears to have been met.

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 11


Principles of Testing
 Early Testing.
 Testing shows presence of defect.
 Pesticide paradox.
 Exhaustive testing is impossible.
 Testing is context dependent.
 Defect clustering.
 Absence of error fallacy

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 12


Economics of Testing
Customer Dissatisfaction

Optimum Cost of
testing
Quantity
testing
Number of
defects

Over Testing
Under Testing

Duration

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 13


Participants in Testing – Who ?
 Customers

 Users

 Developers
• (Includes individuals / groups which gather
requirements, design, build, change and maintain
software)
 Testers

 Senior Management

 Auditors

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 14


Start Testing - When ?
 Timing: As soon as we have a Software Requirements (baseline).

 Objective –
• To trap requirements-related defects as early as they can be identified.

 Approach –
• Test Requirements

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 15


Stop Testing – When?
Following factors are considered,

• Deadlines, e.g. release deadlines, testing deadlines;

• Test cases completed with certain percentage passed;

• Coverage of code, functionality, or requirements reaches a specified point;

• Bug rate falls below a certain level; or

• Beta or alpha testing period ends.

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 16


What Is defect?
 Theasoftwareadoesn’t doasomething that the product specification says it should
do.

 Theasoftwareadoesasomethingathat the product specifications says it shouldn’t do.

 Theasoftwareadoesasomethingathat the product specification doesn’t mention.

 Theasoftwareadoesn’t do something that the product specification doesn’t mention


but should do.

 Difficult to understand, hard to use, slow etc.

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 17


Skills Required in Tester (Contd.).
 Communication and Interpersonal Skills
For a tester, both verbal and written communication are crucial e.g. communication
of defects to developers, quality level of product.

 Time Management and Effort Prioritization


Testers have to juggle a lot of tasks like creating test cases, execution,
documenting test results, creating test metrics etc. Tester may be involved in
testing more than one module or project at the same time.

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 18


Review Questions

1.The testing activity in a project, should be started,


a) once the coding is done
b) once the maintenance is finished
c) once the Design is completed
d) once the initial version of the SRS is available

2. In order to test the functionality of an AUT, ‘Black-


box testing’ is the appropriate approach.
a) TRUE
b) FALSE

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 19


Review Questions
3.The testing activity in a project, can be stopped
a) once the required test coverage is achieved
b) once the schedule is over
c) once the test cases are executed
d) once the Random testing is done

4. Match the following:

a) Prevention 1) Show that the AUT works


b) Detection 2) Find Defects
c) Demonstration 3) Manage Quality

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 20


Verification and Validation

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 21


Verification And Validation
 Verification

 Validation

 Techniques of Verification

 V Model

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 22


Verification
 Disciplined approach at evaluate whether a software product fulfils the
requirements or conditions imposed on them (Are we doing the job right?)

 Method: walkthrough, formal inspection and review of each software


product

 Also called static testing

 Done by a systematically reading the contents of a software product with


the intention of detecting defects

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 23


Verification (Contd.).
5. Helps in identifying not only presence of defects but also their location
6. A ‘filter’ applied at various points during the SDLC to ‘purify’ the product
as it progresses through various phases

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 24


Verification - Examples
 Requirement Reviews - Developers, Testers, Users, Managers

 Design Reviews - Developers, Testers

 Code Walkthroughs - Developers

 Code Inspections - Developers

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 25


Validation
 Disciplinedaapproachatoaevaluate whether the final, as-built software
product fulfils its specific intended use (Are We Doing The Right Job?)

 Method: testingaeach software product at each phase of life cycle using


test plan, test cases. (Unit Testing, Integration Testing, System Testing,
Acceptance testing)

 Also called as dynamic testing

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 26


Validation (Contd.).
 Done by systematically testing a software product with the intention of
finding defects

 Helps in identifying the presence of defects, not their location

 Necessary to demonstrate not just that the software is doing what it is


supposed to do, but also is not doing what it is not supposed to do

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 27


Validation Example
 Unit Testing - Developers

 Integrated Testing - Developers, Testers

 System Testing - Testers

 User Acceptance Testing - Users

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 28


Techniques for SW Verification

 Walkthroughs

 Inspections

 Reviews

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 29


Walkthrough
 Anainformalaprocess, initiatedabyathe authoraof a software product to a colleague
for assistance in locating defects and for suggesting improvements

• Normally not planned

• Authoraexplainsathe product

• Colleagueacomesaoutawithaobservations

• Author provides clarification if required

• Author notes down relevant points and takes corrective actions

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 30


Inspection
 A thorough, word-by-wordacheckingaof a software producta(or part of a product)
with the intention of:

• Locatingadefects

• Confirmingatraceabilityaof relevant requirements

• Checking foraconformanceatoarelevantastandards and conventions

 The fundamental goal of the inspection process is to eliminate defects from a


given, well defined work product.

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 31


Inspection Team
 The inspection team is a group of individuals that work together to analyze each
work product of a development activity in order to detect and remove defects.

 Inspections accomplish this by assigning five different procedural roles to the


individuals that make up the team

 The five procedural roles are: Author, Moderator, Reader, Recorder, and Inspector.

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 32


Review

 Follow-up: a subsequent examination of a Product for the purpose of monitoring


earlier Changes.

 Formal or official examination.

 A process in which one or more persons checks changed documents or data to


determine if the changes are correct.

 An analysis undertaken at a fixed point in time to determine the degree to which


stated objectives have been reached. This is generally used as a basis for
decision making, including updating plans.

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 33


Types of Reviews

 In-Process Reviews

 Milestone Reviews (also called)/ Decision-point/


Phase-end Reviews

• Test Readiness Review


• Test Completion Review

 Post Implementation Reviews (also called) Post


Mortem Reviews

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 34


Benefits of Reviews
 Identification of the anomalies at the earlier stage of the life cycle

 Identifying needed improvements

 Certifying correctness

 Encouraging uniformity

 Enforcing subjective rules

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 35


Management of V & V
 Prepare the plans for execution of the process

 Initiate the implementation of the plan

 Monitor the execution of the plan

 Analyze problems discovered during the execution of the plan

 Report progress of the processes

 Ensure products satisfy requirements

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 36


“V” Testing Concept
 Life Cycle testing: CONTINUOUS testing throughout the SDLC

 Goes hand-in-hand with formalized system development process

 Need to plan the testing activities parallel with the SDLC phases

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 37


The ‘V’ Model

Customer User Acceptance Test Plan Acceptance


Requirements Testing

System System Test Plan System


Specifications Testing
Integration
High Level Test Plan Integration
Design Testing
Unit Test Plan
Low Level Unit
Design Testing

Coding
Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 38
Review Questions
1. Why do you use verification techniques even though the
Validation techniques used?
a) Verfication is better than Validation
b) Verfication is a Black-box testing
c) Verification is helps in finding-out the defects earlier stages
d) Verification can be used instead of Validation.

2. Which of the Following Verification techniques is a team


activity?
1.Reviews
2.Inspections
3.Walkthroughs
4.None of the above

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 39


Review Questions
3.Match the Following:
a) Verification 1) BETA testing
b) Validation 2) Walkthoughs
c) Past-Mortem Reviews 3) System Testing
d) Completely Informal 4) Reviews
e) After ALPHA testing 5) Post-implementation reviews

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 40


Thank You

Sensitivity: Internal & Restricted © 2017 Wipro wipro.com confidential 41

You might also like