STModule 4 Question Answers
STModule 4 Question Answers
Module 4
1 mark
Test management, process of managing the tests. Test management tools allow
automatic generation of the requirement test matrix (RTM), which is an indication of
functional coverage of the application under test (SUT).
3. What is test report?
Test Report is a document which contains a summary of all test activities and final
test results of a testing project.
Software Test automation makes use of specialized tools to control the execution of
tests and compares the actual results against the expected result.
2 marks
1. Test Management has a clear set of roles and responsibilities for improving the
quality of the product.
3. Test management enables developers to make sure that there are fewer design or
coding faults.
2. What are the Criteria for Tool Selection in automation?
For automating any application, the following parameters should be considered:
1. Data driven capabilities
2. Debugging and logging capabilities
3. Platform independence
4. Extensibility and Customizability
5. E-mail Notifications
6. Version control friendly
7. Support unattended test runs
4 marks
2. Test Objective
As mentioned in Test Planning tutorial, Test Report should include the objective
of each round of testing, such as Unit Test, Performance Test, System Test …Etc.
3. Test Summary
This section includes the summary of testing activity in general. Information
detailed here includes
4. Defect
One of the most important information in Test Report is defect. The report should
contain following information
This report communicates the defects or issues as they occur during the life
cycle. Defect and issue management involve multiple people from various teams; for
instance, the nature of the bug or issue may require the tester to get in touch with the
developers, or there may be issues in deployment, or simply a technical flaw in the
design and propagation. This is the stage where the report is generated regarding these
issues and bugs to take the relevant teams on board.
The issues most often refer to bugs but that is not always the case. Any incident that
may occur unexpectedly during the testing life cycle is reported in the Test Incident
Report. The defects or incidents reported in this report are added to a repository with a
unique ID for an easier inquiry into the issue. Here, the issues and incidents are
categorized according to the priority as well. The high priority ones are highlighted
for preferred redressal. It is advisable to add the persons assigned with the task in the
incident report as well, for better management.
Besides the obvious objective of this report, which is to highlight all the bugs and
issues, and hence, take consequent action, this process also cultivates transparency
amongst the software teams and enhances correspondence between them. This
atmosphere of transparency leads to lesser chances of miscommunication between the
team members and other participants involved in the project.
Test Cycle Report refers to running various tests in the testing life cycle. It includes
the planning and execution of certain tests, the priority of those tests, and the severity
of issues to be addressed. Test Cycle Report is generated for each cycle and a separate
cycle is executed for each separate build of the product. The idea is to run multiple
cycles on a product if needed, and to ensure that the product emerges stable and
error-free at the end of the rigorous test cycles.
The Test Cycle Report ideally explains an overall situation of the cycle with the
various defects that emerged during the cycle, their severity, and the impact those
defects had on the overall product test cycle. It should also be able to bridge the
previous cycles with the latest in an attempt to explain the flow of events. An
important thing about a Test Cycle Report is that it entails the new defects and
apprehends the issues that may arise as the product sets on to maturity. All of the
issues that surfaced but were not addressed in the latest cycle are also included in
the Test Cycle Report so that the redressal gets picked up right where the last cycle
ended.
The test summary report is the crux of the test cycle that recommends that
the product is mature and ready for release. It can be considered as the final word
regarding the entire cycle, finishing it with a conclusive remark. It indicates how
effectively the testing project was carried out
A test summary report can be generated at the end of each phase of the cycle
separately, as well as at the end of the entire life cycle of the product. A phase-specific
test summary report helps identify the targeted areas in the product life cycle for a
referral. A conclusive test summary is a certificate of fitness for the product.
This type of report is usually prepared by the Test Manager. It should be crisp and to
the point—with all necessary details included.
The test summary report should be able to explain the test items with their IDs, the
variations that may have occurred during the cycle and how they were
resolved, and a clear-cut summary of all the results including their assessment. It
should distinctly mention that the product is fit for release along with a formal
recommendation for product release.
Typically, there are 4 test automation frameworks that are adopted while automating the
applications:
Software testing tools are required for the betterment of the application or software. That's
why we have so many tools available in the market where some are open-source and paid
tools.
The significant difference between open-source and the paid tool is that the open-source tools
have limited features, whereas paid tool or commercial tools have no limitation for the
features. The selection of tools depends on the user's requirements, whether it is paid or free.
The software testing tools can be categorized, depending on the licensing (paid or
commercial, open-source), technology usage, type of testing, and so on.
With the help of testing tools, we can improve our software performance, deliver a
high-quality product, and reduce the duration of testing, which is spent on manual efforts.
Test management tools are used to keep track of all the testing activity, fast data analysis,
manage manual and automation test cases, various environments, and plan and
maintain manual testing as well.
The defect tracking tool is used to keep track of the bug fixes and ensure the delivery of a
quality product. This tool can help us to find the bugs in the testing stage so that we can get
the defect-free data in the production server. With the help of these tools, the end-users can
allow reporting the bugs and issues directly on their applications.
This type of tool is used to enhance the productivity of the product and improve the accuracy.
We can reduce the time and cost of the application by writing some test scripts in any
programming language.
Performance or Load testing tools are used to check the load, stability, and scalability of the
application. When n-number of the users using the application at the same time, and if the
application gets crashed because of the immense load, to get through this type of issue, we
need load testing tools.
This type of tool is used when we need to compare a web application in the various web
browser platforms. It is an important part when we are developing a project. With the help of
these tools, we will ensure the consistent behavior of the application in multiple devices,
browsers, and platforms.
This testing tool is used to help the programmers to improve their code quality, and with the
help of these tools, they can reduce the time of code and the overall cost of the software.
We can use this type of tool when we are testing any mobile application. Some of the tools
are open-source, and some of the tools are licensed. Each tool has its functionality and
features.
GUI testing tool is used to test the User interface of the application because a proper GUI
(graphical user interface) is always useful to grab the user's attention. These type of tools will
help to find the loopholes in the application's design and makes its better.
The security testing tool is used to ensure the security of the software and check for the
security leakage. If any security loophole is there, it could be fixed at the early stage of the
product. We need this type of the tool when the software has encoded the security code which
is not accessible by the unauthorized users.
15 Marks
You should research clients and the end users to know their needs and expectations from
the application
1. List all the software features (functionality, performance, GUI…) which may need
to test.
2. Define the target or the goal of the test based on above features
You can choose the ‘TOP-DOWN’ method to find the website’s features which may need
to test. In this method, you break down the application under test
to component and sub-component.
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.
Test Plan Example: If your team members report that there are 40% of test cases failed,
you should suspend testing until the development team fixes all the failed cases.
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.
The resource planning is important factor of the test planning because helps
in determining the number of resources (employee, system…) to be used for the project.
Therefore, the Test Manager can make the correct schedule and estimation for the project.
Human Resource
System Resource
For testing, a web application, you should plan the resources as following tables:
Resource
No. Descriptions
s
You should ask the developer some questions to understand the web application under
test clearly. Here’re some recommended questions. Of course, you can ask the other
questions if you need.
1. What is the maximum user connection which this website can handle at the same
time?
2. What are hardware/software requirements to install this website?
3. Does the user’s computer need any particular setting to browse the website?
In the Test Estimation phase, suppose you break out the whole project into small tasks
and add the estimation for each task as below
Estimate
Task Members
effort
170
Create the test specification Test Designer
man-hour
Perform Test Execution Tester, Test Administrator 80 man-hour
Test Report Tester 10 man-hour
Test Delivery 20 man-hour
280
Total
man-hour
Then you create the schedule to complete these tasks.
To create the project schedule, the Test Manager needs several types of input as below:
1. Employee and project deadline: The working days, the project deadline,
resource availability are the factors which affected to the schedule
2. Project estimation: Base on the estimation, the Test Manager knows how long it
takes to complete the project. So he can make the appropriate project schedule
3. Project Risk : Understanding the risk helps Test Manager add enough extra time
to the project schedule to deal with the risks
There are different test deliverables at every phase of the software development lifecycle.
1. Test Results/reports
2. Defect Report
3. Installation/ Test procedures guidelines
4. Release notes
The activities of testing can be divided into the following basic steps:
Test planning involves producing a document that describes an overall approach and
test objectives. It involves reviewing the test basis, identifying the test conditions
based on analysis of test items, writing test cases and Designing the test environment.
Completion or exit criteria must be specified so that we know when testing (at any
stage) is complete.
Purpose
1. To determine the scope and risks and identify the objectives of testing.
2. To determine the required test resources like people, test environments etc.
3. To schedule test analysis and design tasks, test implementation, execution and
evaluation.
Control
This is the activity of comparing actual progress against the plan, and reporting the
status, including deviations from the plan. It involves taking actions necessary to meet
the mission and objectives of the project.
1. To review the test basis. The test basis is the information on which test cases
are based, such as requirements, design specifications, product risk
analysis, architecture and interfaces
2. To identify test conditions
3. To design the tests
4. To design the test environment set-up and identify the required infrastructure
and tools
1. To develop and prioritize test cases by using techniques and create test data for
those tests.
2. To create test suites from the test cases for efficient test execution. Test suite is
a collection of test cases that are used to test a software program
3. To re-execute the tests that previously failed in order to confirm a fix.
4. To log the outcome of the test execution. A test log is the status of the test case
(pass/fail).
5. To compare actual results with expected results.
1. To check which planned deliverables are actually delivered and to ensure that
all incident reports have been resolved
2. To finalize and archive testware such as scripts, test environments, etc. for
later reuse
3. To handover the testware to the maintenance organization. They will give
support to the software
4. To evaluate how the testing went and learn lessons for future releases and
projects