Software Testing Unit-3
Software Testing Unit-3
Software Testing Unit-3
Marks)
• Test Planning: Preparing a Test Plan, Deciding a Test Approach,
Setting up Criteria for Testing, Identifying
Responsibilities, Staffing, Resource Requirements,
Test Deliverables, Testing Tasks
• 4. Features which are extensions of earlier features that have been defect prone:
• Old defects can creep in again. Such features that are defect prone should be include ahead of
more stable features for testing.
Deciding Test Approach
• Deciding Test Approach:
• Once the features list is prioritized then the next step is to go into more details
of what to be tested, to enable estimation of size, effort and schedule. This
includes identifying-
• 1. What type of testing would you use for testing the functionality?
• UT, IT, AT, ST, PT, Security Testing
• As a part of planning for a testing project, the project manager should provide
estimates for the various hardware and software resources required.
• Some of the following factors need to be considered.
• 1. Machine configuration(RAM, processor, disk etc) needed to run the product
under test.
• 2. Overheads required by the test automation tool, if any.
• 3. Supporting tools such as compilers, test data generators, configuration
management tools and so on.
• 4. The different configurations of the supporting s/w that must be present.
• 5. Special requirements for running machine intensive tests such as load tests and
performance tests.
• 6. Appropriate number of licenses of all the s/w.
• In addition to this there are also other requirements such as office space,
support functions like HR and so on.
• Underestimation of these resources can lead to considerable slowing down
of the testing efforts and this can lead to delayed product release and
demotivated testing team.
Identifying Test Deliverables
• Test Deliverables are the artifacts which are given to the stakeholders of software
project during the software development lifecycle.
• There are different test deliverables at every phase of the software development
lifecycle.
• Some test deliverables are provided before testing phase, some are provided during
the testing phase and some after the testing cycles is over.
• The different types of Test deliverables are:
⮚ Test cases Documents
⮚ Test Plan
⮚ Testing Strategy
⮚ Test Scripts
⮚ Test Data
⮚ Test Traceability Matrix
⮚ Test Results/reports
Identifying Test Deliverables(Conti…)
⮚ Test summary report
⮚ Install/config guides
⮚ Defect Reports
⮚ Release notes
• The test plan describes the overall method to be used to verify that the software
meets the product specification and the customer's needs. It includes the quality
objectives, resource needs, schedules, assignments, methods, and so forth.
• Test cases list the specific items that will be tested and describe the detailed steps
that will be followed to verify the software.
• Bug reports describe the problems found as the test cases are followed. These
could be done on paper but are often tracked in a database.
• Test tools and automation are listed and described which are used to test the
software. If the team is using automated methods to test software, the tools used,
either purchased or written in-house, must be documented
Identifying Test Deliverables(Conti…)
• 5. Reuse opportunity:
• If the test architecture has been designed keeping reuse in mind, then the
effort required to cover a given size of testing can come down.
• 6. Robustness of processes:
• Reuse is a specific example of process maturity of an organization.
• Existence of well defined processes will go a long way in reducing the effort
involved in any activity.
Test Management
❑ References: List the related documents, with links to them if available, including
the following:
• 1. Project Plan
• 2. Configuration Management Plan
Test Process : Base Lining a Test Plan (Conti…)
❑Test Items: List the test items (software/products) and their versions
▪ Example - Working with the document edit functions(select, cut, copy etc.)
❑Features to be Tested:
• 1. List the features of the software/product to be tested.
• 2. Provide references to the Requirements and/or Design specifications of the features to
be tested
▪ Example - Select all text , Cut some text, Paste the text, delete, copy, rename
❑Test Environment:
• 1. Specify the properties of test environment: hardware, software, network etc.
• 2. List any testing or related tools.
• Example –Notepad, Computer, Windows os
Test Process : Base Lining a Test Plan(Conti…)
❑Estimate: Provide a summary of test estimates (cost or effort) and/or
provide a link to the detailed estimation.
• To perform the tasks, you need to have the following knowledge and skills:
⮚ knowledge and practical application of the notepad;
⮚ knowledge and ability to apply in practice the basic techniques of test design
⮚ Knowledge of various types of testing including functional and non-functional.
❑Responsibilities: List the responsibilities of each
team/role/individual.
Test Process : Base Lining a Test Plan(Conti…)
❑Risks:
• 1. List the risks that have been identified.
• 2. Specify the mitigation plan and the contingency plan for each risk.
• Example –
• Possible risks during testing:
⮚ Insufficient human resources for testing the application in deadlines.
⮚ Changing the requirements for the product.
Test Process : Base Lining a Test Plan(Conti…)
❑Assumptions and Dependencies:
• 1. List the assumptions that have been made during the preparation of this
plan.
• 2. List the dependencies.
❑Approvals:
• 1. Specify the names and roles of all persons who must approve the plan.
• 2. Provide space for signatures and dates. (If the document is to be printed.)
• Team Lead
• Test engineer 1
• Test engineer 2
• Test engineer 3
• Test engineer 4
Test case Specification.
• The test case specifications should be developed from the test plan
and are the second phase of the test development life cycle.
• The test specification should explain "how" to implement the test
cases described in the test plan.
• Test case specifications are useful as it enlists the specification details
of the items.
• Test Specification Items are must for each test specification should contain the following items:
• 1. Case No.: The test case number should be a three digit identifier of the following form: c.s.t, where: c- is the
chapter number, s- is the section number, and t- is the test case number.
• Example - ACME-TCS-001
▪ TC001
• 3. Program: typically refers to the specific software program, application, or system component that is being
tested.
• Example - "ACME E-commerce Website"
• 6. Background: In a Test Case Specification document, the "Background" section provides context and
background information about the system, feature, or scenario being tested
Test case Specification(Conti…)
• 4 Summary of results: - All the results are mentioned here with the
resolved incidents and their solutions.
• 5 Comprehensive assessment and recommendation for release should
include Fit for release assessment and recommendation of release
Preparing Test Summary Report:
• At the completion of a test cycle, a test summary report is produced.
•This report gives insights to the senior management about the fitness of
the product for release.
•Test summary report is prepared after testing is completed.
•Summary report template provided is a useful guideline for what goes into
such a report.
•The test summary report template is as given below---
• Test summary report identifier: Evaluation:
• Summary: Summary of activities:
• Variances: Approval:
• Comprehensive assessment: Summary of results:
Executing Test Cases
• Executing Test cases :
• • The prepared test cases have to be executed at the appropriate times
during a project.
• • For example, smoke testing on daily basis. System test cases will be run
during system testing.
• • As the test cases are executed during a test cycle, the defect repository is
updated with-
• 1. Defects from the earlier test cycles that are fixed in the current build and
• 2. New defect that get uncovered in the current run of the tests.
Executing Test Cases(Conti…)
• 3. The defect repository should be the primary vehicle of communication
between the test team and development team. All stakeholders should be
referring to the defect repository for knowing the current status of all the
defects.
• This communication can be augmented by other means like emails,
conference calls and so on.
• 4. A test may have to be suspended during its run because of show stopper
defects due to which the test case should wait till the resumption criteria
are satisfied.
• Likewise a test should be run only when entry criteria are satisfied and
should be considered complete only when exit criteria are satisfied.
End of Chapter 3