Sei sulla pagina 1di 24

Planning Software Tests

Pre-Assessment Questions
1. Which of the following is a Quality Assurance activity?
a. Testing
b. Quality Audit
c. Inspection
d. Walkthrough

2. In which phase of the testing life cycle are test cases created?
a. Test Design
b. Planning Process
c. Risk Analysis
d. Defect Tracking and Management

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 1 of 24


Planning Software Tests

Pre-Assessment Questions (Contd.)


3. In which phase of the testing life cycle are quality metrics calculated?
a. Test Reporting
b. Performing Tests
c. Defect Tracking and Management
d. Quantitative Measurement

4. Which of the following specify the goals of testing?


a. Quality Objectives
b. Quality Policy
c. Test Objectives
d. Scope of Test

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 2 of 24


Planning Software Tests

Pre-Assessment Questions (Contd.)


5. Which of the following is a key performance area of a software tester?
a. Developing test cases
b. Executing tests
c. Taking initiatives in self development
d. Reporting test results

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 3 of 24


Planning Software Tests

Solutions to Pre-Assessment
Questions
1. b
2. a
3. d
4. c
5. c

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 4 of 24


Planning Software Tests

Objectives
In this lesson, you will learn to:
• Explain the phases of the test planning process
• Explain the V model
• Identify the various testing approaches
• Identify the testing approaches used for various types of testing
 

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 5 of 24


Planning Software Tests

Test Planning Process


• Test Plan:
• Document that describes the scope, resources, approach, and schedule for
the required test activities
• Describes the various test items, the features to be tested, the testing
tasks, the task allocation, contingency plans, and schedule of the testing
activity.
• The test planning process includes the following phases:
• Pre-planning phase
• Test planning phase
• Post-planning phase

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 6 of 24


Planning Software Tests

Pre-Planning
• The pre-planning phase includes activities that must be completed before
creating the test plan.
• Activities in pre-planning phase:
• Defining success/acceptance criteria
• Identifying test objectives
• Identifying assumptions in creating the test plan
• Defining entrance/exit criteria
• The end product of the test planning phase is the test plan.

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 7 of 24


Planning Software Tests

Creating a Test Plan


• The test plan includes the following components:
• Scope of test
• Test objectives
• List of assumptions
• Results of risks analysis
• Resource allocation
• Test schedule
• Test design
• Test environment
• Testing tools and techniques
• Test completion criteria

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 8 of 24


Planning Software Tests

Creating a Test Plan (Contd.)


• To create a test plan, the following steps should be followed:
1. Form a test team
2. Understand project risks
3. Build the test plan
a. Document test objectives
b. Create test matrix
c. Define test administration
d. Write the test plan

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 9 of 24


Planning Software Tests

Post-Planning
• The post-planning phase of the test planning process includes identifying a
configuration management plan for the software project.
• Configuration Management (CM) is the process of controlling and monitoring
change  in the evolution of software systems.
• Configuration management monitors the individual components of a software
system so that any changes to the configuration of these components can be
systematically traced.
• Configuration management includes the following activities:
• Baseline control
• Software configuration identification
• Configuration control
• Configuration status accounting
• Software configuration authentication
• Software development libraries

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 10 of 24


Planning Software Tests

The V Model
• The V model proposes an approach to software development where both the
software development process and the software test process begin
simultaneously.
• When the project starts, the development team starts the software
development process and the testing team starts planning for the test process.
• This planning is based on the documents created during the development
process.
Advanced V methodology

Requirements Acceptance Test Planning Acceptance Testing

Analysis System Test Planning System Testing

Design Integration Test Planning Integration Testing

Coding Unit Test Planning Unit Testing

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 11 of 24


Planning Software Tests

The V Model (Contd.)


• Unit testing:
• Testing each individual unit of software to detect errors in its code.
• Done by a developer or a peer programmer.
• Integration testing:
• Testing two or more previously tested and accepted units to illustrate that
they are able to work together when combined into a single entity.
• Exposes faults in interfaces and in the interaction between integrated
components.
• System testing:
• Process of testing a completely integrated system to verify that it meets
specified requirements.
• Includes testing for performance, security, and recovery from failure.
• Acceptance testing:
• Process in which actual users test a completed information system to
determine whether or not it satisfies the acceptance criteria.
• Enables the customer to determine whether or not to accept the system.
©NIIT Planning and Designing Software Tests Lesson 2 / Slide 12 of 24
Planning Software Tests

Test Approaches
• Software can be tested using various approaches and techniques.
• The approaches used for testing can be broadly grouped under the following
two categories:
• Static testing
• Dynamic testing
• Static testing is done to verify the conformance of a software system to its
specification without executing the code.
• Dynamic testing involves executing the source code to check whether it works
as expected.
• Dynamic testing may be conducted using the following approaches:
• Functional approaches
• Structural approaches

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 13 of 24


Planning Software Tests

Functional Test Approaches


• Focus on the functionality of a software product
• More effective during later stages of testing
• Also called black-box testing techniques
• Functional approaches are useful in locating the following types of errors:
• Incorrect functionality
• Missing functionality
• Interface errors
• Performance errors
• Incorrect specifications
• Initialization errors
• Termination errors

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 14 of 24


Planning Software Tests

Functional Test Approaches (Contd.)


• Advantages of functional test approaches:
• Functional approaches are very effective on large units of code
• Tester does not need to have any knowledge of implementation, including
specific programming languages
• Tester and programmer can be independent of each other
• Tests are done from a user's point of view
• Any ambiguities or inconsistencies in the specifications can be easily
identified
• Test cases can be designed as soon as the specifications are complete.
• Limitations of functional test approaches:
• May leave many program paths untested
• Cannot be directed toward specific segments of code which may be very
complex, and therefore more error prone
• Reason for a failure is not found
• Without clear and concise specifications, it is difficult to design tests

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 15 of 24


Planning Software Tests

Structural Test Approaches


• Focus on the internal working of a software product.
• Also called white-box or glass-box testing techniques.
• More effective than functional approaches on small individual modules.
• Advantages of structural testing approaches:
• Useful in locating extra non-specified functions that cannot be detected
using functional approaches
• More effective than functional approaches on small individual modules
• Disadvantages of structural test approaches:
• The number of logical paths in a program is large. It is not practically
possible to check all logical paths through a program, as it would take a
lot of time and effort. Only a limited number of important logical paths can
be tested.
• Use of structural approaches requires the tester to have some knowledge
of programming languages.
• Structural approaches do not ensure that user requirements have been
met.

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 16 of 24


Planning Software Tests

Identifying Test Approaches


Type of Testing/ Structural Functional
Approach used Approach Approach

Unit Testing X  

Integration Testing X X

System Testing   X

Acceptance Testing   X

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 17 of 24


Planning Software Tests

Identifying Test Approaches (Contd.)


• The tests that are conducted using structural approaches are called structural
testing techniques.
• Tests that are conducted using functional test approaches are called functional
testing techniques.
• Structural testing techniques
• Stress testing
• Execution testing
• Recovery testing
• Operations testing
• Compliance testing
• Security testing

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 18 of 24


Planning Software Tests

Identifying Test Approaches (Contd.)


• Functional testing techniques
• Requirements testing
• Regression testing
• Error-handling testing
• Manual-support testing
• Intersystem testing
• Control testing
• Parallel testing

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 19 of 24


Planning Software Tests

Summary
In this lesson, you learned that:

• Before starting the actual testing process, you need to plan for the test.
• A test plan is a document that describes the scope, resources, approach, and
schedule of intended test activities.
• There are three phases in the test planning process:
• Pre-planning phase
• Test planning phase
• Post-planning phase
• Activities in pre-planning phase include:
• Defining success/acceptance criteria
• Identifying test objectives
• Identifying assumptions in creating the test plan
• Defining entrance/exit criteria

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 20 of 24


Planning Software Tests

Summary (Contd.)
• Test planning phase includes the following activities:
• Requirements traceability
• Estimating test effort
• Scheduling the test
• Planning resources
• Identifying approaches to be used to accomplish test objectives
• Defining test quality control
• The end product of the test planning phase is the test plan.

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 21 of 24


Planning Software Tests

Summary (Contd.)
• The components of a test plan are:
• Scope of test
• Test objectives
• List of assumptions
• Results of risk analysis
• Resource allocation
• Test schedule
• Test design
• Testing tools and techniques
• Test completion criteria
• In the post-planning phase, a Configuration Management plan must be
identified.
• Configuration management monitors the individual components of a software
system so that any changes to the configuration of these components can be
systematically traced.

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 22 of 24


Planning Software Tests

Summary (Contd.)
• The V model proposes an approach to software development where both the
software development process and the software test process begin
simultaneously.
• Unit testing involves testing each individual unit of software to detect errors
in its code.
• Integration testing involves testing two or more previously tested and
accepted units to illustrate that they are able to work together when
combined into a single entity.
• System testing is the process of testing a completely integrated system to
verify that it meets specified requirements.
• Acceptance testing is the process, in which actual users test a completed
information system to determine whether or not it satisfies its acceptance
criteria.

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 23 of 24


Planning Software Tests

Summary (Contd.)
• The approaches used for testing can be broadly categorized as:
• Static testing
• Dynamic testing
• Dynamic testing can be conducted using the following approaches:
• Functional approaches
• Structural approaches

©NIIT Planning and Designing Software Tests Lesson 2 / Slide 24 of 24

Potrebbero piacerti anche