Software Testing – Day One _____________________________________ By Govardhan Reddy M
Agenda Software Testing Why?
Purpose?
Terminologies? Notes Test Design Targets
Techniques Black Box
White Box
Gray Box
Software Testing Process of executing an application with the intent of finding bugs.
Process of demonstrating that errors are not present.
Process of establishing confidence that a program does what it is supposed to do.
Software Testing - Why... Here are some important defects that bettter testing would have found. In October 1999 the $125 million NASA Mars Climate Orbiter – an interplanetary weather satellite was lost in space due to a data conversion error. Investigators discovered that the software on the spacecraft performed certain calculations in English units (yards) when it should have used metric units (meters). (Cont...)
Software Testing - Why... In June 1996 the first flight of the European Space Agency's Ariane 5 rocket failed shortly after launching, resulting in an uninsured loss of $500,000,000. The disaster was traced to the lack of exception handling for a floating-point error when a 64-bit integer was converted to a 16-bit signed integer.
Software Testing - Purpose... Verification
Validation
Error Finding
Software Testing - Purpose... Verification Whether we built the project right?
Typically involves reviews and meetings to evaluate: Documents, Plans, Code, Requirements & Specifications. Can be done with: Checklists, Issues lists, walkthrouhs and inspection meetings.
Software Testing - Purpose... Validation Whether we built the right project?
Typically involves actual testing.
Tasks are designed to ensure that Internal design is valid.
Meets user expectations / business requirements. Validation takes place after verifications.
Software Testing - Purpose... Error Finding Failure points of the application. Failure: Variance between expected and actual result. Defects introduced in the: SRS: Software Requirement Specification.
PRD: Product Requirement Document.
FDD: Funtional/Feature Design Document.
Software Testing - Terminologies... Error: Discrepancy between expected and actual result.
Flaws that exists due to improper coding.
Undesirable output which negates the requirement.
Occurs in the syntax level (syntax error).
Error could be in: Environment
Application
Resource associated with testbed setup.
Software Testing - Terminologies... Bug: Error found before the application goes into production. Defect: Error found after the application goes into production.
Software Testing - Terminologies... Note: Error can be at any stage: Development
QA
After Release Error can be a Bug or Defect.
Software Testing - Terminologies... Test Strategy: An elaborate and systematic plan of action.
High level system wide expression of major activities that collectively achieve the overall desired result.
Identifies Risks, Constraints and Exposures present.
Introduces significant added value to the plan.
Software Testing - Terminologies... Test Strategy: Cont... Statements are expressed in high level terms of Physical components and activities.
Resources (People and Machines).
Types and Levels of Testing.
Schedules. Plan will be specific to the system being developed.
Software Testing - Terminologies... Test Plan:  Collection of test cases.

Software Testing - Day One