software testing - basics

31
Software Testing [email protected]

Upload: prasad-gali

Post on 21-Dec-2014

211 views

Category:

Education


0 download

DESCRIPTION

Software testing basic concepts

TRANSCRIPT

Page 1: Software testing - basics

[email protected]

Software Testing

Page 2: Software testing - basics

[email protected]

The Software Development Life Cycle

Requirement Analysis

Design

CodingTesting

Implementation

Software Requirement Specification

Design Specification

Test Strategy Test Plan

Page 3: Software testing - basics

[email protected]

Understanding Testing

Testing

Analyzing

Review

Verifying

Validating

Testing

Manual Automated

Page 4: Software testing - basics

[email protected]

Testing Objectives

• Testing activity is performed to find defects in the softwareDetect Defects

• Testing activity is performed to check if the software meets the specified requirements

Determine specified

Requirements are met

• Testing activity is performed to test the performance of the application.

Test the Performance

Page 5: Software testing - basics

[email protected]

Testing Principles

Testing shows presence of defects

Exhaustive testing is impossible

Early Testing

Defect Clustering

Pesticide paradox

Testing is context dependent

Absence of errors fallacy

Page 6: Software testing - basics

[email protected]

Software Testing Life Cycle

Test Planning

Test Analysis and Design

Test Implementation and Execution

Evaluating Exit Criteria and Reporting

Test Closure Activities

Testing Objectives are defined

Test Case designing Identifying the Test Data Identifying the environment,

Infrastructure and Tools

Test Executing Test Results Logging Defects Re-testing

Verify if more testing is required Test Summary Report

Test Archive

Page 7: Software testing - basics

[email protected]

Test Types

Test Type

Functional Testing

Non Functional

Testing

Confirmation Testing

Regression Testing

Testing the functionality against the software

Testing the behavioral characteristic of the software

Retesting No new defects are introduced in the process of fixing the earlier identified defects

Black Box

Page 8: Software testing - basics

[email protected]

Test Plan

Test Plan describes Assign mitigation and contingencies to the identified risks Decide scope of testing according to level of risk Features to be tested Features not to be tested Tasks to be performed The environment in which testing is to be done Test Schedule Test Execution

Test Plan

Scope ResourcesApproach Schedule

Page 9: Software testing - basics

[email protected]

Test Case

Expected Output Actual Result=

A test case is a document that contains detailed instructions for testing the functionality of a software application

A Robust Test case should be Independent to meet specific requirements Easily understandable during testing Free from spelling and grammatical mistakes. Able to cover at least one functionality or requirement Able to uncover bugs

Test Components Test Case Name Objectives Test Case ID

Prerequisites Actions Expected Result

Actual Result Status General Remarks

Page 10: Software testing - basics

[email protected]

Black Box Test Design Technique

Boundary Value Analysis

Equivalence partitioning

Error Guessing

State Transition

Syntax Testing

Cause effect Graphic

Represents a set of valid and invalid conditions Test condition which give similar results are grouped under one partition Number of test cases is reduced considerably

Identifies bugs around the boundaries. Takes into account output specifications when deriving test cases Used to test the behavior of the application where the bug is most likely to occur

ADHOC method to identify tests that are likely to expose bugs. Enables to make guess about bugs that are likely to be present in the application Test Activities based on areas that are not covered by formal design techniques.

Enables you to test the transition from one state to another Identifies the events which causes the transition and specifies Actions that result

from the transition

Used to design test cases for software applications based on the syntax of the input. Test the application with different set of input values

Used to identify possible causes of a problem by using the cause effect diagram Analyze Cause of the problem Identify the source of bugs and Observe the effects of the problem.

Page 11: Software testing - basics

[email protected]

Execute a Test Case

Test Log

Pass BlockedFail

Attributes of Test Log

Test log identifier Test Description Test Case ID

Execution Description Actual Result Status

Environmental Information Anomalous Events Incident Identifier

Name of Tester Date of testing General Comments

Page 12: Software testing - basics

[email protected]

Test Summary ReportParameters of Report

Number of Modules tested Number of test cases passed or failed Number of bugs identified

Precondition of Test Summary Report

Test Log to be completed Testing activities should to be completed Testing execution should be completed

Benefits of Test Summary Report

Effectiveness of testing effort Quality of application Test Coverage Decide any change Reference to lessons learned

Page 13: Software testing - basics

[email protected]

DefectDefects are events that occurred during text execution and require investigation.

New OpenAssigned

Resolved

Verified

Closed

Defer

Reject

ReopenDefect Report

Defect ID Defect Summary Actual Result Expected Result Date and Time Supporting Evidence Potential Impact (Severity & Priority) Found By Assigned To Status

Page 14: Software testing - basics

[email protected]

Test Tools

Functional Testing Tools

Software Functionality

Software Requirement Specifications

Used mainly for regression testing

Performance Testing Tools

Speed Effectiveness

Load

Stress

Features of Performance Test Tool Generating Load Measuring timing of transactions Measuring average response time Creating graphs and charts

E.g. QTP, Winrunner

E.g. Load Runner,

Page 15: Software testing - basics

[email protected]

Test Management Tool

Requirement Analysis

Design

CodingTesting

Implementation

Test Management

Tool

Test Case Management

Test Schedule

Managing Test effort

Traceability

Test report

Defect Management

E.g. HP Quality Center

Page 16: Software testing - basics

[email protected]

Assessment

Page 17: Software testing - basics

[email protected]

Question 1

Which is the correct principle of testing?

a. Testing is context independent.b. Testing shows presence of defects.c. Exhaustive testing is possible.d. Defects are evenly distributed across the modules of software.

Answer: Testing shows presence of defects

Page 18: Software testing - basics

[email protected]

Question 2

Which is the first phase of the SDLC?

a. Developmentb. Testingc. Analysisd. Design

Answer: Analysis

Page 19: Software testing - basics

[email protected]

Question 3

Which level of testing detects defects in the integration of components?

a. Alpha testingb. Component integration testingc. System integration testingd. Beta testing

Answer: Component integration testing

Page 20: Software testing - basics

[email protected]

Question 4

True or False? If a software application has bugs, the expected and the actual test result will be different.

a. Trueb. False

Answer: True

Page 21: Software testing - basics

[email protected]

Question 5

Which attribute of a test log is used to describe the sequence of steps or actions to execute a test log?

a. Execution descriptionb. Test log identifierc. Test descriptiond. Anomalous events

Answer: Execution description

Page 22: Software testing - basics

[email protected]

Question 6

Which component of the test case provides a detailed description of every step of execution?

a. Actual resultb. Expected resultc. Remarksd. Action

Answer: Action

Page 23: Software testing - basics

[email protected]

Question 7

How many test cases will you need to achieve complete coverage on a branch?

a. Oneb. Twoc. Fourd. Three

Answer: Two

Page 24: Software testing - basics

[email protected]

Question 8

Risk priority helps you determine:

a. Size of the testing team.b. Need for regression testing.c. Extent of testing required.d. Requirements for a testing tool.

Answer: Extent of testing required

Page 25: Software testing - basics

[email protected]

Question 9

True or False? Before creating a test summary report, you need to ensure that each test case is given a test status such as pass, fail, or blocked.

a. Trueb. False

Answer: True

Page 26: Software testing - basics

[email protected]

Question 10

Which testing type will you perform to ensure that no new defects are introduced in a new build of the software?

a. Component testingb. Confirmation testingc. Regression testingd. Acceptance testing

Answer: Regression testing

Page 27: Software testing - basics

[email protected]

Question 11

True or False? White-box testing techniques are used at acceptance level testing.

a. Trueb. False

Answer: False

Page 28: Software testing - basics

[email protected]

Question 12

True or False? If software is delivered to the customer with defects in it, then it is a product risk.

a. Trueb. False

Answer: True

Page 29: Software testing - basics

[email protected]

Question 13

Which test case design technique is used to separate groups of input conditions to obtain the same kind of output?

a. Equivalence partitioningb. State transition testingc. Error guessingd. Boundary value analysis

Answer: Equivalence partitioning

Page 30: Software testing - basics

[email protected]

Question 14

What is the importance of test planning?

a. To prepare test documents.b. To create a matrix for measuring test results.c. To define the testing approach.d. To evaluate exit criteria.

Answer: To define the testing approach.

Page 31: Software testing - basics

[email protected]

For any QA training and support related discussion, mail me at [email protected]