Chapter 3 Software
Chapter 3 Software
What are test deliverables and milestones? Give any four types of
test deliverables.
Ans:
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:
1.Test cases Documents
2.Test Plan
3.Testing Strategy
4.Test Scripts
5.Test Data
6.Test Traceability Matrix
7.Test Results/reports
8.Test summary report
9.Install/config guides
10.Defect Reports Release notes
1. 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.
2. Test cases list the specific items that will be tested and describe the
detailed steps that
will be followed to verify the software.
3. Bug reports describe the problems found as the test cases are followed.
These couldbe done on paper but are often tracked in a database.
4. 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.
5. 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.
3.2 TEST MANAGEMENT:
The top, or project level, test plan, the process of creating it is more
important than the resulting document. The next three levels, the test
design specification, the test case specification, and the test procedure
specification are described in detail in the following sections. As you can
see in Figure, moving further away from the top-level test plan puts less
emphasis on the process of creation and more on the resulting written
document. The reason is that these plans become useful on a daily,
sometimes hourly, basis by the testers performing the testing. At the
lowest level they become step-by-step instructions for executing a test,
making it key that they‘re clear, concise, and organized how they got that
way isn‘t nearly as important. This standard is what many testing teams
have adopted as their test planning documentation intentional or not—
because it represents a logical and common-sense method for test
planning. The important thing to realize about this standard is that unless
tester is bound to follow it to the letter because of the type of software he
is testing or by your corporate or industry policy, tester should use it as a
guideline and not a standard.
Test Design The overall project test plan is written at a very high level. It
breaks out the software into specific features and testable items and
assigns them to individual testers, but it doesn‘t specify exactly how those
features will be tested. There may be a general mention of using
automation or black-box or white-box testing, but the test plan doesn‘t
get into the details of exactly where and how they will be used. This next
level of detail that defines the testing approach for individual software
features is the test design specification.
Test Cases Dissecting a specification, code, and software to derive the
minimal amount of test cases that would effectively test the software. The
test case specification ―documents the actual values used for input along
with the anticipated outputs. A test case also identifies any constraints on
the test procedure resulting from use of that specific test case.‖
Essentially, the details of a test case should explain exactly what values or
conditions will be sent to the software and what result is expected. It can
be referenced by one or more test design specs and may reference more
than one test procedure. The ANSI/IEEE 829 standard also lists some other
important information that should be included:
• Identifiers.
• Test item.
• Input specification.
• Output specification.
• Environmental needs.
• Special procedural requirements.
• Intercase dependencies. Test Procedures After tester documents the
test designs and test cases, what remains are the procedures that need to
be followed to execute the test cases. The test procedure specification
―identifies all the steps required to operate the system and exercise the
specified test cases in order to implement the associated test design.‖ The
test procedure or test script spec defines the step-by-step details of
exactly how to perform the test cases. Here‘s the information that needs
to be defined:
• Identifier. A unique identifier that ties the test procedure to the
associated test cases and test design.
• Purpose. The purpose of the procedure and reference to the test cases
that it will exe-cute.
• Special requirements. Other procedures, special testing skills, or
special equipment needed to run the procedure.
• Procedure steps. Detailed description of how the tests are to be run:
• Log. Tells how and by what method the results and observations will be
recorded.
• Setup. Explains how to prepare for the test.
• Start. Explains the steps used to start the test
• Procedure. Describes the steps used to run the tests.
• Measure. Describes how the results are to be determined for example,
with a stopwatch or visual determination.
• Shut down. Explains the steps for suspending the test for unexpected
reasons.
• Restart. Tells the tester how to pick up the test at a certain point if
there‘s a failure or after shutting down.
• Stop. Describes the steps for an orderly halt to the test.
• Wrap up. Explains how to restore the environment to its pre-test
condition.
• Contingencies. Explains what to do if things don‘t go as planned..
What are the things that test case specification shall identify?
Ans:
1. Test cases specify the inputs, predicted results and execution
conditions. Each test case should aim to evaluate the operation of a key
element or function of the system.
2. Failure of a test case, depending upon the severity of the failure, would
be catalogued as part of the overall evaluation of the suitability of the
system for its intended use.
3. Test cases can start with a specific ‗form‘ that allows operator entry of
data into the system. This needs to be mapped, if the architecture is
based upon an n-tier solution, through the business logic and rules into
the server systems with transactions being evaluated both in a ‗nominal‘
mode where the transaction is a success and for those occasions when
the transaction or ‗thread‘ fails.
4. Test design may also require one or more test cases and one or more
test cases may be executed by a test procedure.
Describe test case specification of test process.?
Ans:
Testing is a process rather than a single activity.
i. This process starts from test planning then designing test cases,
preparing for execution and evaluating status till the test closure.
ii. Divide the activities within the fundamental test process into the
following basic steps:
1. Planning and Control
Test planning has following major tasks:
i. To determine the scope and risks and identify the objectives of testing.
ii. To determine the test approach.
iii. To implement the test policy and/or the test strategy. (Test strategy is
an outline that describes the testing portion of the software development
cycle. It is created to inform PM, testers and developers about some key
issues of the testing process. This includes the testing objectives, method
of testing, total time and resources required for the project and the
testing environments.).
iv. To determine the required test resources like people, test
environments, PCs, etc.
v. To schedule test analysis and design tasks, test implementation,
execution and evaluation.
vi. To determine the Exit criteria we need to set criteria such as Coverage
criteria. (Coverage criteria are the percentage of statements in the
software that must be executed during testing. This will help us track
whether we are completing test activities correctly. They will show us
which tasks and checks we must complete for a particular level of testing
before we can say that testing is finished.)
Test control has the following major tasks:
i. To measure and analyze the results of reviews and testing.
ii. To monitor and document progress, test coverage and exit criteria.
iii. To provide information on testing.
iv. To initiate corrective actions.
v. To make decisions.
2. Analysis and Design
Test analysis and Test Design has the following major tasks:
i. To review the test basis. (The test basis is the information we need in
order to start the test analysis and create our own test cases. Basically it’s
a documentation on which test cases are based, such as requirements,
design specifications, product risk analysis, architecture and interfaces.
We can use the test basis documents to understand what the system
should do once built.)
ii. To identify test conditions.
iii. To design the tests.
iv. To evaluate testability of the requirements and system.
v. To design the test environment set-up and identify and required
infrastructure and tools.
3. Implementation and Execution
i. During test implementation and execution, take the test conditions into
test cases and procedures and other test ware such as scripts for
automation, the test environment and any other test infrastructure.
ii. (Test cases is a set of conditions under which a tester will determine
whether an application is working correctly or not.)
iii. (Test ware is a term for all utilities that serve in combination for testing
a software like scripts, the test environment and any other test
infrastructure for later reuse.)
Test implementation has the following major task:
i. To develop and prioritize our test cases by using techniques and create
test data for those tests.
ii. (In order to test a software application you need to enter some data for
testing most of the features.
iii. Any such specifically identified data which is used in tests is known as
test data.)
iv. We also write some instructions for carrying out the tests which is
known as test procedures.
v. We may also need to automate some tests using test harness and
automated tests scripts.
vi. (A test harness is a collection of software and test data for testing a
program unit by running it under different conditions and monitoring its
behavior and outputs.)
vii. To create test suites from the test cases for efficient test execution.
viii. (Test suite is a collection of test cases that are used to test a software
program to show that it has some specified set of behaviors.
ix. A test suite often contains detailed instructions and information for
each collection of test cases on the system configuration to be used
during testing.
x. Test suites are used to group similar test cases together.)
xi. To implement and verify the environment.
Write important six test cases for the “Login Form” of the
Facebook website.
Ans:
Test Test step Test data Expected Actual Status
case no output output
1 Username - It will It displays Pass
filed is left display ‘Enter
blank ‘Enter Username
Username ’
2 Enter invalid abc It will It prompt Pass
user name prompt couldn’t
‘couldn’t find your
find your account.
account’
message
3 Enter valid Username- It will It displays Pass
user name abc123 display ‘wrong
and invalid Password – ‘Wrong password’
password 123 password’ message.
message.
4 Enter Valid Username- It will It displays Pass
username abc123 display ‘Enter
and no Password – ‘Enter password’
password password’. .
5 Enter Valid Username- It will It displays Pass
username abc123 display users
and Password Password – users’ account’s
co5i22518 account’s facebook
facebook page.
page.
6 Click on - It will go to It goes to Pass
‘Forgotten Find your Find your
password?’ account account
page. page.
Design test cases for ATM card operations.
Ans:
Test Test case Input Expected Actual Status
case ID objective data result result
TC1 Pin valid 4 It should It Pass
number digits accept the accepted
pin valid pin the pin
TC2 Withdraw Valid It should It Pass
al numeric accept the accepted
amount valid the
amount amount
TC3 TC3 Click on It should It Pass
Withdraw the ask for displayed
al withdrawa the the
l amount message
button as enter
the
amount
TC4 Mini Click on It should It issued Pass
statement mini issue the the
statement receipt of receipt
last 3 of last 3
transactio transactio
ns ns
CAPITAL LETTERS”
ABCDEFGHIJKLMNOPQRSTUVWXYZ
SMALL LETTERS”
abcdefghIjklmnopqrstuvwxyz