Top Banner
Test Execution Test Execution & Reporting & Reporting
28
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Test execution may_04_2006

Test ExecutionTest Execution& Reporting& Reporting

Page 2: Test execution may_04_2006

AgendaAgenda

General Test procedureGeneral Test procedure Executing tests Executing tests

Set up systems and software Set up systems and software

Execute test cases Execute test cases Verifying and analyzing results Verifying and analyzing results ReportingReporting

Page 3: Test execution may_04_2006

General Test ProcedureGeneral Test Procedure

A Single test normally includes three steps:A Single test normally includes three steps: PlanningPlanning Execution Execution EvaluationEvaluation

Tester Plan testingExecute testing

Evaluate testing

Page 4: Test execution may_04_2006

General Test ProcedureGeneral Test Procedure

Plan testing

Execute testing

Evaluate testing

If I click OK, without input into text field, the application will probably crash.

Let’s see if it does

It sure did!

Page 5: Test execution may_04_2006

PlanningPlanning It is the first step to determine what should be tested. Also It is the first step to determine what should be tested. Also

referred as test case design.referred as test case design.

Design the test cases (inputs and outputs) used to test the Design the test cases (inputs and outputs) used to test the system:system:

Identify the test case (Identify the test case (What has to be testedWhat has to be tested).).

Specify the test activities( Specify the test activities( How to proceedHow to proceed).).

Indicate how test results should be defined (Indicate how test results should be defined (Correct outcomeCorrect outcome).).

Page 6: Test execution may_04_2006

ExecutionExecution

It’s Show Time!It’s Show Time!

Execution of a test is a three step Execution of a test is a three step

Process:Process: Preparing the Test InfrastructurePreparing the Test Infrastructure Conduct Test.Conduct Test. Verify Results and Report Results.Verify Results and Report Results.

Page 7: Test execution may_04_2006

Prepare Test InfrastructurePrepare Test Infrastructure

The prepare Test Infrastructure task The prepare Test Infrastructure task ensures that all the components such as ensures that all the components such as technical resources, human resources, technical resources, human resources, configuration, data, and test design configuration, data, and test design specification are in place for successful specification are in place for successful execution of the test.execution of the test.

The key to setting up the testing The key to setting up the testing environment is to establish a set of environment is to establish a set of standards that everyone in the project can standards that everyone in the project can adhere to. adhere to.

Page 8: Test execution may_04_2006

Prepare Test InfrastructurePrepare Test Infrastructure

Establish a set of standards that the Establish a set of standards that the organization follows.organization follows.

The key to setting up the testing The key to setting up the testing environment is to establish a set of environment is to establish a set of standards that everyone in the standards that everyone in the project can adhere to. project can adhere to.

Page 9: Test execution may_04_2006

Prepare Prepare Test InfrastructureTest Infrastructure

Components of the testing Components of the testing environment include:environment include:

Supporting software

An inventory of hardware

The code under test

A workbook or execution logs

Page 10: Test execution may_04_2006

Prepare Prepare Test InfrastructureTest Infrastructure

Supporting softwareSupporting software

Includes operating systems, middleware, Includes operating systems, middleware, system utilities, application, patches and so system utilities, application, patches and so on.on.

Supporting software is stored on CD or Supporting software is stored on CD or available on a shared file system.available on a shared file system.

All supporting software will need to be All supporting software will need to be installed in the environment in the exact installed in the environment in the exact sequence required by the components.sequence required by the components.

Page 11: Test execution may_04_2006

Prepare Prepare Test InfrastructureTest Infrastructure

Supporting softwareSupporting software

Detailed installation steps will need to be provided Detailed installation steps will need to be provided to you as part of the implementation of the test to you as part of the implementation of the test cases.cases.

When installing multiple supporting software When installing multiple supporting software elements, the order of installation is critical to the elements, the order of installation is critical to the proper functioning of the environment. proper functioning of the environment.

Page 12: Test execution may_04_2006

Prepare Prepare Test InfrastructureTest Infrastructure

An inventory of hardware:An inventory of hardware:

Properly setting up the test-execution environment Properly setting up the test-execution environment requires to have access the inventory of hardware requires to have access the inventory of hardware that is needed, along with any special instructions that is needed, along with any special instructions for configuring the hardware.for configuring the hardware.

It is important to ensure that you execute the test It is important to ensure that you execute the test case in the exact hardware configuration identified case in the exact hardware configuration identified by the test cases.by the test cases.

Tester must confirm that the hardware meets all Tester must confirm that the hardware meets all requirements and specifications such as those for requirements and specifications such as those for memory, disk space, processor speeds and so on.memory, disk space, processor speeds and so on.

Page 13: Test execution may_04_2006

Prepare Prepare Test InfrastructureTest Infrastructure

Code under test:Code under test:

Code under test, also referred to as a driver or a Code under test, also referred to as a driver or a build is the packaged new code that is ready to be build is the packaged new code that is ready to be installed and tested.installed and tested.

Properly preparing the environment for test-case Properly preparing the environment for test-case execution also requires that you have access to the execution also requires that you have access to the code under test.code under test.

Code is stored in a well-known place with naming Code is stored in a well-known place with naming conventions that indicate the exact driver or build conventions that indicate the exact driver or build levels.levels.

Detailed procedures need to be in place to enable Detailed procedures need to be in place to enable you to install the code accurately and efficiently.you to install the code accurately and efficiently.

Page 14: Test execution may_04_2006

Prepare Prepare Test InfrastructureTest Infrastructure

Workbook or execution logs:Workbook or execution logs:

Workbooks and execution logs are used to record Workbooks and execution logs are used to record the test-execution activity.the test-execution activity.

Workbooks are used when manually running tests, Workbooks are used when manually running tests, while execution logs are used to capture execution while execution logs are used to capture execution of tests run programmatically. of tests run programmatically.

Store the log files in a well-known place with Store the log files in a well-known place with naming conventions to indicate the date captured naming conventions to indicate the date captured and the build level being tested.and the build level being tested.

Page 15: Test execution may_04_2006

Conduct TestConduct Test

Execute Test caseExecute Test case The purpose of the task is to The purpose of the task is to

implement the test execution implement the test execution plan, produce test results, and plan, produce test results, and compare between the expected compare between the expected test results and actual test test results and actual test results.results.

After set up the environment, After set up the environment, ready to execute the tests.ready to execute the tests.

Execute each test exactly as Execute each test exactly as defined in the test-case defined in the test-case implementation.implementation.

Page 16: Test execution may_04_2006

Execute Test case – The processExecute Test case – The process

Software to be tested

Test Case

Output

Verifier

Test CaseGeneration

Page 17: Test execution may_04_2006

Testing processTesting process

Design testcases

Prepare testdata

Run programwith test data

Compare resultsto test cases

Testcases

Testdata

Testresults

Testreports

InputInput

Actual OutputActual Output

Comparison Process

Comparison Process

Test case : Specifies• Inputs + pre-test state

of the software• Expected results (outputs and state)

Test case : Specifies• Inputs + pre-test state

of the software• Expected results (outputs and state)

Page 18: Test execution may_04_2006

Testing policesTesting polices

Only exhaustive testing can show a program Only exhaustive testing can show a program is free from defects. However, exhaustive is free from defects. However, exhaustive testing is impossible,testing is impossible,

Testing policies define the approach to be Testing policies define the approach to be used in selecting system tests:used in selecting system tests:• All functions accessed through menus All functions accessed through menus

should be tested.should be tested.• Where user input is required, all functions Where user input is required, all functions

must be tested with correct and incorrect must be tested with correct and incorrect input.input.

Page 19: Test execution may_04_2006

Testing guidelinesTesting guidelines

Testing guidelines are hints for the testing Testing guidelines are hints for the testing team to help them choose tests that will team to help them choose tests that will reveal defects in the systemreveal defects in the system

• Choose inputs that force the system to Choose inputs that force the system to generate all error messages.generate all error messages.

• Design inputs that cause buffers to overflow.Design inputs that cause buffers to overflow.• Repeat the same input or input series several Repeat the same input or input series several

times.times.• Force invalid outputs to be generated.Force invalid outputs to be generated.• Force computation results to be too large or Force computation results to be too large or

too small.too small.

Page 20: Test execution may_04_2006

Verify the existence of the DefectVerify the existence of the Defect

Verify that the element under test, Verify that the element under test, the execution environment and the the execution environment and the test case-implementation are test case-implementation are consistent with the test case designconsistent with the test case design

Verify and confirm the discrepancy Verify and confirm the discrepancy between the expected test results between the expected test results and actual test results.and actual test results.

Verify and Analyze ResultsVerify and Analyze Results

Page 21: Test execution may_04_2006

Analyze the DefectAnalyze the Defect The purpose of the task is to analyze The purpose of the task is to analyze

and resolve variances encountered and resolve variances encountered during test execution. during test execution.

Each variance is analyzed to Each variance is analyzed to determine the cause. determine the cause.

Analysis may indicate that the cause Analysis may indicate that the cause of the variance is a defect, or that a of the variance is a defect, or that a change request is required.change request is required.

Verify and Analyze ResultsVerify and Analyze Results

Page 22: Test execution may_04_2006

Analyze the DefectAnalyze the Defect Investigate further and Investigate further and

gather as much gather as much information as possible information as possible about the symptoms. about the symptoms.

Analyze failures by varying Analyze failures by varying conditions, options and conditions, options and settings to gauge the settings to gauge the severity of the defect severity of the defect

Verify and Analyze ResultsVerify and Analyze Results

Page 23: Test execution may_04_2006

Analyze failures by varying conditions, options and settingsAnalyze failures by varying conditions, options and settings

Change the Change the conditionsconditions under which an error occurred by under which an error occurred by changing what you do. As an example, if the problem seems changing what you do. As an example, if the problem seems related to entering data very quickly, try slowing your rate of related to entering data very quickly, try slowing your rate of input. input.

Change the Change the options and settingsoptions and settings of the program under of the program under test. As an example, if the problem seems related to desktop test. As an example, if the problem seems related to desktop screen-resolution settings, try varying the settings. screen-resolution settings, try varying the settings.

Change the Change the software and hardware environmentsoftware and hardware environment. For . For example, if the defect seems related to a low-end hardware example, if the defect seems related to a low-end hardware configuration, try using the lowest configuration specified in configuration, try using the lowest configuration specified in the requirements. the requirements.

Change the Change the datadata used by the program. As an example, if the used by the program. As an example, if the defect seems related to strings exceeding a certain number defect seems related to strings exceeding a certain number of characters in length, create a second set of test data to of characters in length, create a second set of test data to check the hypothesis. check the hypothesis.

Verify and Analyze ResultsVerify and Analyze Results

Page 24: Test execution may_04_2006

Documenting your Documenting your execution resultsexecution results

Test logs to record Test logs to record test execution test execution

Create a test Create a test incident report for incident report for problems problems

ReportingReporting

Run Test

Test Logs

ERROR REPORT

TEST CASES

Verify & Analyze Result

Bug Tracking

Page 25: Test execution may_04_2006

Effective defect Effective defect reportsreports

Convey the proper Convey the proper message, gets the message, gets the job done and job done and simplifies the simplifies the process for process for everyone. everyone.

Can Pig Ride Can Pig Ride technique to write technique to write effective incident effective incident reports.reports.

ReportingReporting

C Condense: Say it clearly but briefly

AAccurate: Is it a user error or set-up problem?

System problem? Application problem? Test-case problem?

N Neutral: Just the facts; no zingers, no humor, no emotion, no sarcasm

P Precise: Explicitly, what is the problem?

I Isolate: What was done to isolate the problem?

G Generalize: What was done to understand how general the problem is?

R Re-create: What is essential to re-create this problem?

I Impact: What is the impact if the bug were to surface in a customer environment

D Debug: What will the developer need to debug this problem?

E Evidence: What will prove the existence of the error?

Page 26: Test execution may_04_2006

Test-Defect report Test-Defect report The IEEE Std. for Software Test Documentation for The IEEE Std. for Software Test Documentation for

Test Defect template offers the following fields. Test Defect template offers the following fields.

ReportingReporting

• Incident Summary report IdentifierSpecify the unique identifier assigned to this test-defect

report.

•Incident SummarySummarize the incident. Identify the test items involved,

indicating their version and revision level. Supply references to the appropriate test-procedure specification, test-case specification and test log.

Page 27: Test execution may_04_2006

Incident DescriptionProvide a description of the incident that includes the following items:

Inputs Expected results Actual results Date and time Procedure steps Environment Attempts to repeat Testers Observers

Related activities and observationsInclude any of these that may help to

isolate the correct the cause of the incident.

Test-Defect report Test-Defect report The IEEE Std. for Software Test Documentation for The IEEE Std. for Software Test Documentation for

Test Defect template offers the following fields. Test Defect template offers the following fields.

ReportingReporting

Page 28: Test execution may_04_2006

ResolveResolve True defects - referred to the Defect True defects - referred to the Defect

Management process. Management process. Rated for severity and a priority Rated for severity and a priority Change Requests - referred to the Change Change Requests - referred to the Change

Management processManagement processPrioritizes the revision of requirements, Prioritizes the revision of requirements, the specification, design and construction the specification, design and construction of each item. of each item. Changed items reenter the test process Changed items reenter the test process

ReportingReporting