Download Software Testing Chapter 3 and more Lecture notes Software Engineering in PDF only on Docsity!
CO3 : Prepare test plan for an application.
Test Plan
- A document describing the scope, approach, resources and schedule of intended test activities. It identifies amongst others test items, the features to be tested, the testing tasks, who will do each task, degree of tester independence, the test environment, the test design techniques and entry and exit criteria to be used, and the rationale for their choice, and any risks requiring contingency planning. It is a record of the test planning process.
Steps for preparing a test plan
- Analyze the product (learn product thoroughly)
- Develop test strategy -define scope of testing ,risk and issues
- Define objective of test
- Define test criteria
- Planning the resources
- Plan test environment
- Schedule and cost
- Test deliverables
Test deliverables includes
Scope
Methodology
Requirements
Criteria for pass-fail
Schedule
TEST PLAN TYPES
- Master Test Plan: A single high-level test plan for a project/product that unifies all other test plans.
- Testing Level Specific Test Plans : Plans for each level of testing.
- Unit Test Plan
- Integration Test Plan
- System Test Plan
- Acceptance Test Plan
- Testing Type Specific Test Plans: Plans for major types of testing like Performance Test Plan and Security Test Plan.
TEST PLAN GUIDELINES
- Make the plan concise. Avoid redundancy and superfluousness. If you think you do not need a section that has been mentioned in the template above, go ahead and delete that section in your test plan.
- Be specific. For example, when you specify an operating system as a property of a test environment, mention the OS Edition/Version as well, not just the OS Name.
- Make use of lists and tables wherever possible. Avoid lengthy paragraphs.
- Have the test plan reviewed a number of times prior to base lining it or sending it for approval. The quality of your test plan speaks volumes about the quality of the testing you or your team is going to perform.
- Update the plan as and when necessary. An outdated and unused document stinks and is worse than not having the document in the first place.
Deciding test approach
- Like any project, the testing also should be driven by a plan. The test plan acts as the anchor
- For the execution, tracking and reporting of the entire testing project. Activities of test plan:
- Scope Management: Deciding what features to be tested and not to be tested.
- Deciding Test approach /strategy: Which type of testing shall be done like configuration, integration, localization etc.
- Setting up criteria for testing: There must be clear entry and exit criteria for different phases of testing. The test strategies for the various features and combinations determined how these features and combinations would be tested.
- Identifying responsibilities, staffing and training needs
- Identifying resource requirements
- How long will be the training?
- Where training will be conducted
Resource requirements
Factors to be considered while selecting the resource requirements are: People : How many people are required? How much experience they should possess? What kind of experience is needed? What should they be expertise in? Should they be full-time, part-time, contract, students? Equipment: How many Computers are required? What configuration computers will be required? What kind of test hardware is needed? Any other devices like printers, tools etc. Office and lab space : Where will they be located? How big will they be? How will they be arranged? Software: Word processors, databases, custom tools. What will be purchased, what needs to be written? Outsource companies : Will they be used? What criteria will be used for choosing them? How much will they cost? Miscellaneous supplies: Disks, phones, reference books, training material. What else might be necessary over the course of the project? The specific resource requirements are very project-, team-, and company-dependent, so the test plan effort will need to carefully evaluate what will be needed to test the software.
Test Deliverables and Milestones
- 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
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.
- Metrics, statistics, and summaries convey the progress being made as the test work progresses. They take the form of graphs, charts, and written reports.
- Milestones: milestones are the dates of completion given for various tasks to be performed in testing. These are thoroughly tracked by the test manager and are kept in the documents such as Gantt charts, etc.
Test Management
- It concerned with both test resource and test environment management. It is the
role of test management to ensure that new or modified service products meet
business requirements for which they have been developed or enhanced.
1) Test Infrastructure Management
Testing requires a robust infrastructure to be planned upfront. This infrastructure is
made up of three essential elements.
A test case database (TCDB) (additional): A test case database captures all
the relevant information about the test cases in an organization. Some of the
entities and the attributes are given in following table
occurrence Test case- product cross reference
Provides a mapping between the tests and the corresponding product features ; enables identification of tests for a given feature
Test case ID Modulate ID
Test case run history Gives the history of when a test was run and what was the result; provides inputs on selection of tests for regression runs (see chapter
Test case ID Run date Time taken Run status (success/failure)
Test case – Defect cross reference
Gives details of test cases introduced to test certain specific defects detected in the product ;provides inputs on the selection of tests for regression runs
Test case ID Defect reference# (points to a record in the defect repository)
2) Test People Management
- People management is an integral part of any project management and test planning.
- People management also requires the ability to hire, motivate, and retain the right people.
- These skills are seldom formally taught.
- Testing projects present several additional challenges.
- We believe that the success of a testing organization depends vitally on judicious people management skills
Test Lead responsibilities and activities:
- Identify how the test teams formed and aligned within organization
- Decide the roadmap for the project
- Identify the scope of testing using SRS documents.
- Discuss test plan, review and approve by management/ development team.
- Identify required metrics
- Calculate size of project and estimate efforts and corresponding plan.
- Identify skill gap and balance resources and need for training education.
- Identify the tools for test reporting , test management, test automation,
- Create healthy environment for all resources to gain maximum throughput.
- Identify how the test teams formed and aligned within organization management/ development team.
Test team responsibilities and activities:
- Initiate the test plan for test case design
- Conduct review meetings
- Monitor test progress , check for resources, balancing and allocation
- Check for delays in schedule discuss, resolve risks if any.
Test Process
1) Base lining of test plan
- The format and content of a software test plan vary depending on the processes, standards, and test management tools being implemented. Nevertheless, the following format, which is based on IEEE standard for software test documentation, provides a summary of what a test plan can/should contain.
Test plan template
- Test Plan Identifier: Provide a unique identifier for the document. (Adhere to the Configuration Management System if you have one.)
- Introduction:
Provide an overview of the test plan. Specify the goals/objectives. Specify any constraints.
- References : List the related documents, with links to them if available, including the following: 1. Project Plan 2. Configuration Management Plan
- Test Items: List the test items (software/products) and their versions.
- List the dependencies.
- Specify the names and roles of all persons who must approve the plan.
- Provide space for signatures and dates. (If the document is to be printed.)
2) 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:
- 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.
- Title: is the title of the test.
- Programme: is the program name containing the test.
- Author: is the person who wrote the test specification.
- Date: is the date of the last revision to the test case.
- Background: (Objectives, Assumptions, References, Success Criteria): Describes in words how to conduct the test.
- Expected Error(s): Describes any errors expected
- Reference(s): Lists reference documentation used to design the specification.
- Data: (Tx Data, Predicted Rx Data): Describes the data flows between the Implementation under Test (IUT) and the test engine.
- Script: (Pseudo Code for Coding Tests): Pseudo code (or real code) used to conduct the test.
Test Reporting
1) Executing Test Cases
Test execution is the process of executing the code and comparing the expected and actual results.
Following factors are to be considered for a test execution process:
Based on a risk, select a subset of test suite to be executed for this cycle.
Assign the test cases in each test suite to testers for execution.
Execute tests, report bugs, and capture test status continuously.
Resolve blocking issues as they arise.
Report status, adjust assignments, and reconsider plans and priorities daily.
Report test cycle findings and status.
2) Test Reporting
Test reporting is a means of achieving communication through the testing cycle. There are 3 types of test reporting.
1. Test incident report: A test incident report is communication that happens through the testing cycle as and when defects are encountered .A test incident report is an entry made in the defect repository each defect has a unique id to identify incident .The high impact test incident are highlighted in the test summary report. 2. Test cycle report : A test cycle entails planning and running certain test in cycle , each cycle using a different build of the product .As the product progresses through the various cycles it is expected to stabilize. Test cycle report gives
- A summary of the activities carried out during that cycle.
- Defects that are uncovered during that cycle based on severity and impact
- Progress from the previous cycle to the current cycle in terms of defect fixed
- Outstanding defects that not yet to be fixed in cycle
- Any variation observed in effort or schedule 3 Test summary report: The final step in a test cycle is to recommend the suitability of a product for release. A report that summarizes the result of a test cycle is the test summary report. There are two types of test summary report:
- Phase wise test summary, which is produced at the end of every phase
- Final test summary report. A Summary report should present
- Test Summary report Identifier 2 Description: - Identify the test items being reported in this report with test id 3 Variances: - Mention any deviation from test plans, test procedures, if any.