SE401 - Software Quality Assurance and Testing: Test Plan
SE401 - Software Quality Assurance and Testing: Test Plan
SE401 - Software Quality Assurance and Testing: Test Plan
and Testing
Test Plan
Outlines
Test Plan
Importance of a Test Plan
Test Case Documentation
Elements of a Test Plan
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and Software Testing and Analysis: 2
Process, Principles and Techniques (2008)
Test Plan
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 4
Software Testing and Analysis: Process, Principles and Techniques (2008)
Objectives of a Test Plan
▪ To create a set of testing tasks
▪ Assign resources to each testing task
▪ Estimate completion time for each testing task
▪ Document testing standards
Importance of a Test Plan
▪ Test Plan helps us determine the effort needed to validate the
quality of the application under test (AUT).
▪ Help people outside the test team such as developers, business
managers, customers understand the details of testing.
▪ Test Plan guides our thinking. It is like a rule book, which needs to
be followed.
▪ Important aspects like test estimation, test scope, Test
Strategy are documented in Test Plan, so it can be reviewed by
Management Team and re-used for other projects.
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 6
Software Testing and Analysis: Process, Principles and Techniques (2008)
Test Plans – Contents vs. Structure
▪ The most common question about testing is
“ How do I write a test plan? ”
▪ This question usually comes up when the focus is on the document,
not the contents
▪ It’s the contents that are important, not the structure
− Good testing is more important than proper documentation
− However – documentation of testing can be very helpful
▪ Test planning:
− Goal setting
− Overall strategy
▪ Test preparation:
− Preparing test cases & test suite(s)
o systematic
− Preparing test procedure
Test Planning: Goal setting and strategic planning
▪ Goal setting
− Quality perspectives of the customer
− Quality expectations of the customer
− Mapping to internal goals and concrete (quantified) measurement
− Example: customer's correctness concerns => specific reliability target
▪ Who:
− who will do each task
− divide responsibilities between teams involved - if more than one Software
Testing team is involved (i.e., manual / automation, or English / Localization)
Test Plan
▪ When:
− planning/design/coding/testing stage(s)
▪ How:
− Plan for test resources / timelines
− Plan for test coverage
− Plan for OS / DB / software deployment and configuration models coverage
After Completion:
− Create and maintain the document
− Analyze for completeness
− Have it reviewed and signed by Project Team leads/managers
How to write a simple Test Plan?
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 22
Software Testing and Analysis: Process, Principles and Techniques (2008)
1. Analyze the Project
▪ Can you test a 1. Review
product without any information 3. Interview
product and
client, designer
about it? and developer
project
documentation
▪ No… You must learn a
product thoroughly before
testing it.
▪ You can use the following
approach to analyze the 2. Perform
product
product: walkthrough
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 23
Software Testing and Analysis: Process, Principles and Techniques (2008)
2. Develop Test Strategy
▪ Test Strategy is a critical step in making a Test Plan. This document
defines:
− The project’s testing objectives and the means to achieve them
− Determines testing effort and costs
▪ To develop Test Strategy for testing a product, you should follow steps
below:
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 24
Software Testing and Analysis: Process, Principles and Techniques (2008)
2. Develop Test Strategy
Step 2.1) Define Scope of Testing
▪ Before the start of any test activity, scope of the testing should be
known.
− The components of the system to be tested (hardware, software, middleware,
etc.) are defined as "in scope"
− The components of the system that will not be tested also need to be clearly
defined as being "out of scope."
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 25
Software Testing and Analysis: Process, Principles and Techniques (2008)
2. Develop Test Strategy
Step 2.1) Define Scope of Testing
▪ To determine scope, you must consider:
− Customer requirement
− Project Budget
− Product Specification
− Skills & talent of your test team
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 26
Software Testing and Analysis: Process, Principles and Techniques (2008)
2. Develop Test Strategy
Step 2.2) Identify Testing Type
▪ A Testing Type is a standard test procedure that gives an expected
test outcome. (many are available..)
▪ The commonly used testing types are:
− Unit Test: test the smallest piece of verifiable software in the application.
− API Test: test the API’s created for the application
− Integration Test: individual software modules combined and tested as group
− System Test: conducted on a complete, integrated system to evaluate
system’s compliance with its specified requirements
− And more …
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 27
Software Testing and Analysis: Process, Principles and Techniques (2008)
2. Develop Test Strategy
Step 2.3) Document Risk & Issues
▪ Risk is future’s uncertain event with a probability
of occurrence and a potential for loss. When the risk actually
happens, it becomes the ‘issue’.
▪ You should document those risks in the Test Plan.
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 28
Software Testing and Analysis: Process, Principles and Techniques (2008)
2. Develop Test Strategy
Step 2.3) Document Risk & Issues (Example)
Risk Mitigation
Team member lack the required skills for Plan training course to skill up your members
website testing.
The project schedule is too tight; it's hard to Set Test Priority for each of the test activity
complete this project on time
A lack of cooperation negatively affects your Encourage each team member in his task, and inspire them to greater
employees' productivity efforts.
Wrong budget estimate and cost overruns Establish the scope before beginning work, pay a lot of attention to project
College of Computer and Information Systems
planning and constantly track and measure the progress
- Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 29
Software Testing and Analysis: Process, Principles and Techniques (2008)
2. Develop Test Strategy
Step 2.4) Create Test Logistics
▪ In Test Logistics, the Test Manager should answer the following
questions:
− Who will test?
− When will the test occur?
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 30
Software Testing and Analysis: Process, Principles and Techniques (2008)
3. Define Test Objective
▪ Test Objective is the overall goal and achievement of the test
execution
▪ A sample of the Objectives for an online bank website:
“The test objectives are to verify the functionality of the website of the bank, the
project should focus on testing the banking operation such as Account
Management, Withdrawal, and Balance…etc. to guarantee all these operations
can work normally in real business environment.”
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 31
Software Testing and Analysis: Process, Principles and Techniques (2008)
4. Define Test Criteria
▪ Test Criteria is a standard or rule on which a test procedure or test
judgment can be based. There’re 2 types of test criteria as
following:
− Suspension Criteria: Specify the critical suspension criteria for a test. If the
suspension criteria are met during testing, the active test cycle will
be suspended until the criteria are resolved.
Example:
“If testing team report that there are 40% of test cases failed, you
should suspend testing until the development team fixes all the failed cases.”
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 32
Software Testing and Analysis: Process, Principles and Techniques (2008)
4. Define Test Criteria
▪ Test Criteria is a standard or rule on which a test procedure or test
judgment can be based. There’re 2 types of test criteria as
following:
− Exit Criteria: It specifies the criteria that denote a successful completion of a
test phase. The exit criteria are the targeted results of the test and are
necessary before proceeding to the next phase of development.
Example:
“95% of all critical test cases must pass.”
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 33
Software Testing and Analysis: Process, Principles and Techniques (2008)
5. Resource Planning
▪ Resource plan is a detailed summary of all types of resources
required to complete project task.
▪ Resource could be human, equipment and materials needed to
complete a project
▪ The resource planning is important factor of the test planning
because it helps in determining the number of resources
(employee, equipment…) to be used for the project. Therefore, the
Test Manager can make the correct schedule & estimation for the
project. (check the Sample Test Plan on Moodle for an example)
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 34
Software Testing and Analysis: Process, Principles and Techniques (2008)
6. Plan Test Environment
▪ How do you plan for setting up a test environment for a product?
▪ To finish this task, you need a strong cooperation between Test Team and
Development Team
▪ Test team should ask the development team all required details about the
product to run to be able to clearly understand the product under test.
▪ Sample of questions:
− What is the maximum user connections which this product can handle at the same time?
− What are hardware/software requirements to install this product?
− Does the user's computer need any particular setting to browse the website?
− Other questions …
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 35
Software Testing and Analysis: Process, Principles and Techniques (2008)
7. Schedule & Estimation
▪ To do the Schedule and time estimation it is better to break down
the whole project into small tasks and add the estimation for How can we
estimate
each task separately. An example is provided below: required effort?
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 37
Software Testing and Analysis: Process, Principles and Techniques (2008)
7. Schedule & Estimation
▪ Example:
− Suppose that you need to complete testing of your project in one month, you
already estimated the effort for each tasks in Test Estimation (in slide 57). You
can create a schedule similar to the one below:
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 38
Software Testing and Analysis: Process, Principles and Techniques (2008)
8. Test Deliverables
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 39
Software Testing and Analysis: Process, Principles and Techniques (2008)
Elements of a test plan
1. Title
2. Identification of software (incl. version/release #s)
3. Revision history of document (incl. authors, dates)
4. Table of Contents
5. Purpose of document, intended audience
6. Objective of testing effort
7. Software product overview
8. Relevant related document list, such as requirements, design documents, other
test plans, etc.
9. Relevant standards or legal requirements
10. Traceability requirements
Elements of a test plan
11.Relevant naming conventions and identifier conventions
12.Overall software project organization and personnel/contact-info/responsibilities
13.Test organization and personnel/contact-info/responsibilities
14.Assumptions and dependencies
15.Project risk analysis
16.Testing priorities and focus
17.Scope and limitations of testing
18.Test outline - a decomposition of the test approach by test type, feature, functionality,
process, system, module, etc. as applicable
19.Outline of data input equivalence classes, boundary value analysis, error classes
Elements of a test plan
20. Test environment - hardware, operating systems, other required software, data
configurations, interfaces to other systems
21. Test environment validity analysis - differences between the test and production
systems and their impact on test validity
22. Test environment setup and configuration issues
23. Software migration processes
24. Software CM processes
25. Test data setup requirements
26. Database setup requirements
27. Outline of system-logging/error-logging/other capabilities, and tools such as
screen capture software, that will be used to help describe and report bugs
Elements of a test plan
28.Discussion of any specialized software or hardware tools that will be used by testers to
help track the cause or source of bugs
29.Test automation - justification and overview
30.Test tools to be used, including versions, patches, etc.
31.Test script/test code maintenance processes and version control
32.Problem tracking and resolution - tools and processes
33.Project test metrics to be used
34.Reporting requirements and testing deliverables
35.Software entrance and exit criteria
36.Initial sanity testing period and criteria
Elements of a test plan
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 47
Software Testing and Analysis: Process, Principles and Techniques (2008)
Summary
Test Plan
Importance of a Test Plan
Test Case Documentation
Elements of a Test Plan
College of Computer and Information Systems - Prince Sultan University These slides are prepared from: https://www.guru99.com/software-testing.html and 48
Software Testing and Analysis: Process, Principles and Techniques (2008)