0% found this document useful (0 votes)
63 views35 pages

Software Testing Orientation: July 25, 2014

The document provides an overview of software testing, including definitions of key terms like bugs and defects, different types of software testers and their roles, software development lifecycles, and realities of software testing such as the impossibility of completely testing a program and the fact that more bugs found typically means more bugs exist.

Uploaded by

Deepak Dua
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views35 pages

Software Testing Orientation: July 25, 2014

The document provides an overview of software testing, including definitions of key terms like bugs and defects, different types of software testers and their roles, software development lifecycles, and realities of software testing such as the impossibility of completely testing a program and the fact that more bugs found typically means more bugs exist.

Uploaded by

Deepak Dua
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 35

Software Testing

Orientation

July 25, 2014


Deepak Dua,
QA Manager
Industry Analysis-Nelson Hall

• The software testing services market was worth $29bn in 2007


• $6bn was spent on “Independent testing
• The market would increase to $37.6bn by 2012
• The market share for independent testing growing to approximately 30%
($12bn)
• Global Testing Service Market $17B (2010) with India $8.5B
• 50% of global testing service market is managed by India based test
community (>95K Test Engineers)
• QUALITY continue to be the #1 choice of the end users, service providers,
network operators, solution integrators and R&D Orgs

2
Market Study

3
Software Testing Budgets
Top Software Testing Trends for 2016
Software Testing Budgets
Career Path of a Tester
What exactly does a software tester
do?

The goal of software tester is to find bugs.

The goal of software tester is to find bugs as early


as possible.

The goal of software tester is to find bugs as


early as possible and make sure they get
fixed.
What is Bug?

• When software doesn’t operate as intended.


• Terms for Software Failures
– Defect
– Fault
– Problem
– Error
– Feature
– Bug
– Inconsistency
– Incident
Formal Definition

• The Software doesn’t do something that the


product specification says it should do.
• The software does something that the product
specification says it shouldn’t do.
• The software does something that the product
specification doesn’t mention.
• The software is difficult to understand, hard to
use, slow.
Why Do Bugs Occur?

• Specification
• Design
• Code
• Other
The Cost of Bugs

• Specification $1
• Design $10
• Code $100
• Test $1000
• Release $10000
What Makes a
Good Software Tester

• They are Explorer


• They are Troubleshooter
• They are creative
• They are perfectionist
• They exercise good judgment
• They are tactful and diplomatic
• They are relentless
Specialization in SW Testing

• Automation Engineer
• Performance Testing
• Accessibility Testing
• UI/UX Testing
• Security Testing
• Web Services Testing
• BI Testing
• Telecom
The Software Development Process

• Product Components

• Software Project Staff

• Software Development Lifecycle Model


Product Components

• Customer Requirements – to fill the need of customer we takes


survey, feedback, competitive product information.

• Specification – Define what the product will be, what it will do, and how it
will look.

• Schedule – to track the progress, Gantt Chard,

• Software Design Documents - Architecture, DFD, Flowchart,


Commented Code.

• Test Documents – Test plan, Test Cases, Bug Reports, Metrics and other
reports.
What Parts Make Up a Software
Product?

• Help Files • Users Manual

• Samples and examples • Labels and stickers

• Product Support info • Icons and art

• Error messages • Ads and marketing


material
• Setup and Installation • Readme file
Software Project Staff

• Project Manager – write project spec, manage schedule, make critical


decision and trade offs.

• Architect or System Engineer – Technical Expert, design Architecture


or detailed design.

• Programmer – write code, fix bugs

• Tester or QA – find bugs, report bugs, assure the quality

• Technical writer – prepare user manuals and other documentations.


Software Development Lifecycle Model

• Code and Fix Model

• Waterfall Model

• Prototype Model

• Spiral Model
The Realities of Software Testing

• Testing Axioms

• Software Testing Terms and Definitions


It’s Impossible to Test a Program
Completely

• The number of possible inputs is very large.

• The number of possible outputs is very large.

• The number of paths through the software is


very large.
Software Testing Is a Risk-
Based Exercise
Testing Can’t Show That Bugs Don’t
Exist

You can perform your tests, find and report


bugs, but at no point can you guarantee that
there are no longer any bugs to find. You can
only continue your testing and possibly find
more.
The More Bugs You Find, the More
Bugs There Are

• Programmers have bad days

• Programmers often make the same mistake

• Some bugs are really just the tip of the


iceberg
The Pesticide Paradox

If you keep applying the same pesticide, the


insects eventually build up resistance and the
pesticide no longer works.

To overcome the pesticide paradox, software


testers must continually write new and
different tests to exercise different parts of the
program and find more bugs.
Not All the Bugs You Find Will Be
Fixed

• There’s not enough time

• It’s really not a bug

• It’s too risky to fix

• It’s just not worth it


When Bug is Difficult to Say Bug

If there’s a problem in the software but no


one ever discovers it—not programmers, not
testers, and not even a single customer—is it a
bug?

Bugs that are undiscovered or haven’t yet


been observed are often referred to as latent
bugs.
Product Specifications Are Never Final

As a software tester, you must assume that


the spec will change. Features will be added
that you didn’t plan to test. Features will be
changed or even deleted that you had already
tested and reported bugs on. It will happen.
Software Testers Aren’t the Most
Popular Members of a Project
Team

Your job is to inspect and critique your peer’s work, find


problems with it, and publicize what you’ve found. Ouch! You
won’t win a popularity contest doing this job.

Tips to keep the peace with your fellow teammates:

• Find bugs early


• Temper your enthusiasm
• Don’t just report bad news
Software Testing Terms and Definitions

Precision and Accuracy

As a software tester, it’s important to know


the difference between precision and
accuracy. Suppose that you’re testing a
calculator. Should you test that the answers it
returns are precise or accurate? Both? If the
project schedule forced you to make a risk-
based decision to focus on only one of these,
which one would you choose?
Verification and Validation

Verification and validation are often used


interchangeably but have different definitions.
These differences are important to software
testing.

• Verification is the process confirming that


software meets its specification.
• Validation is the process confirming that it
meets the user’s requirements.
Quality and Reliability

A software user’s idea of quality may include the breadth


of features, the ability of the product to run on his old
PC, the software company’s phone support availability,
and, often, the price of the product. Reliability, or how
often the product crashes or trashes his data, may be
important, but not always.

To ensure that a program is of high quality and is reliable,


a software tester must both verify and validate
throughout the product development process.
Testing and Quality Assurance (QA)

• The goal of a software tester is to find bugs,


find them as early as possible, and make sure
they get fixed.
• A software quality assurance person’s main
responsibility is to create and enforce
standards and methods to improve the
development process and to prevent bugs
from ever occurring.

You might also like