Software Testing Notes Unit II
Software Testing Notes Unit II
Disadvantages:- Its disadvantage is that its not sure that all scenarios are covered and its difficult
for an inexperienced tester to work with these test cases.
INTERGROUP RESPONSIBILITIES
TEST PHASES
To perform this QA, testers can follow six key phases of the software testing lifecycle.
6 key phases of software testing lifecycle:
Many QA professionals follow well-established software testing lifecycle phases to ensure an
application performs as expected.
1) Requirement Analysis
2) Test Planning
3) Test case development
4) Test case environment
5) Test Execution
6) Test Reporting
1)Requirement Phase Testing also known as Requirement Analysis in which test team studies
the requirements from a testing point of view to identify testable requirements and the QA team
may interact with various stakeholders to understand requirements in detail. Requirements could
be either functional or non-functional. Automation feasibility for the testing project is also done
in this stage.
Activities in Requirement Phase Testing
RTM
Automation feasibility report. (if applicable)
2)Test Planning in STLC is a phase in which a Senior QA manager determines the test plan
strategy along with efforts and cost estimates for the project. Moreover, the resources, test
environment, test limitations and the testing schedule are also determined. The Test Plan gets
prepared and finalized in the same phase.
Test Planning Activities
Test cases/scripts
Test data
4)Test Environment Setup decides the software and hardware conditions under which a work
product is tested. It is one of the critical aspects of the testing process and can be done in parallel
with the Test Case Development Phase. Test team may not be involved in this activity if the
development team provides the test environment. The test team is required to do a readiness
check (smoke testing) of the given environment.
Test Environment Setup Activities
Understand the required architecture, environment set-up and prepare hardware and
software requirement list for the Test Environment.
Setup test Environment and test data
Perform smoke test on the build
5) Test Execution Phase is carried out by the testers in which testing of the software build is
done based on test plans and test cases prepared. The process consists of test script execution,
test script maintenance and bug reporting. If bugs are reported then it is reverted back to
development team for correction and retesting will be performed.
Test Execution Activities
Evaluate cycle completion criteria based on Time, Test coverage, Cost,Software, Critical
Business Objectives, Quality
Prepare test metrics based on the above parameters.
Document the learning out of the project
Prepare Test closure report
Qualitative and quantitative reporting of quality of the work product to the customer.
Test result analysis to find out the defect distribution by type and severity.
TEST STRATEGY
A high-level document is used to validate the test types or levels to be executed for the product
and specify the Software Development Life Cycle's testing approach is known as Test strategy
document.
Once the test strategy has been written, we cannot modify it, and it is approved by the Project
Manager, development team.
The test strategy also specifies the following details, which are necessary while we write the test
document:
OBJECTIVE:
o The first component of the test strategy document is Scope and Overview.
o The overview of any product contains the information on who should approve, review
and use the document.
o The test strategy document also specified the testing activities and phases that are needed
to be approved.
2. Testing Methodology
o The next module in the test strategy document is Testing methodology, which is mainly
used to specify the levels of testing, testing procedure, roles, and responsibilities of all
the team members.
o The testing approach also contains the change management process involving the
modification request submission, pattern to be used, and activity to manage the request.
o Above all, if the test strategy document is not established appropriately, then it might lead
to errors or mistakes in the future.
4. Testing Tools
o Testing tools are another vital component of the test strategy document, as it stipulates
the complete information about the test management and automation tools necessary
for test execution activity.;
o For security, performance, load testing, the necessary methodologies, and tools are
defined by the details of the open-source or commercial tool and the number of users
that can be kept by it.
5. Release Control
6. Risk Analysis
o The last component of the Testing strategy document is Review and Approval.
o When all the related testing activities are specified in the test strategy document, it is
reviewed by the concerned people like:
o System Administration Team
o Project Management Team
o Development Team
o Business Team
o Together with the correct date, approver name, comment, andsummary of the
reviewed variations should be followed while starting the document.
o Likewise, it should be constantly reviewed and updated with the testing process
improvements.
o Methodical strategy
o Reactive strategy
o Analytical strategy
o Standards compliant or Process compliant strategy
o Model-based strategy
o Regression averse strategy
o Consultative strategy
RESOURCE REQUIREMENTS
Resource requirement 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 requirement and planning is important factor of the test planning because
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.
Some of the following factors need to be considered:
Machine configuration (RAM,processor,disk)needed to run the product under test.
Overheads required by test automation tools, if any
Supporting tools such as compilers, test data generators, configuration management tools.
The different configurations of the supporting software(e.g. OS)that must be present
Special requirements for running machine-intensive tests such as load tests and
performance tests.
Appropriate number of licenses of all the software
Tester Assignments
a)Test Schedule
b)Test plan (Master test plan, Phase test plan, specific test plan)
c)Test case
d)Bug reporting
TEST SCHEDULE
A test schedule includes the testing steps or tasks, the target start and end dates, and
responsibilities. It should also describe how the test will be reviewed, tracked, and
approved.
It is used to explain the timing to work, which needs to be done or this attribute covers
when exactly each testing activity should start and end? And the exact data is also
mentioned for every testing activity for the particular date.
Therefore as we can see in the below image that for the particular
activity, there will be a starting date and ending date; for each testing to a
specific build, there will be the specified date.
For example
Test cases
The test case is defined as a group of conditions under which a tester determines whether a
software application is working as per the customer's requirements or not. Test case designing
includes preconditions, case name, input conditions, and expected result. A test case is a first
level action and derived from test scenarios.
It is an in-details document that contains all possible inputs (positive as well as negative)
and the navigation steps, which are used for the test execution process. Writing of test
cases is a one-time attempt that can be used in the future at the time of regression testing.
Test case gives detailed information about testing strategy, testing process, preconditions,
and expected output. These are executed during the testing process to check whether the
software application is performing the task for that it was developed or not.
Test case helps the tester in defect reporting by linking defect with test case ID. Detailed
test case documentation works as a full proof guard for the testing team because if
developer missed something, then it can be caught during execution of these full-proof
test cases.
To write the test case, we must have the requirements to derive the inputs, and the test
scenarios must be written so that we do not miss out on any features for testing. Then we
should have the test case template to maintain the uniformity, or every test engineer
follows the same approach to prepare the test document.
Generally, we will write the test case whenever the developer is busy in writing the code.
o When the customer gives the business needs then, the developer
starts developing and says that they need 3.5 months to build this
product.
o And In the meantime, the testing team will start writing the test
cases.
o Once it is done, it will send it to the Test Lead for the review process.
o And when the developers finish developing the product, it is handed
over to the testing team.
The primary purpose of writing a test case is to achieve the efficiency of the
application.
Steps – Detailed steps along with screenshots with which the developer can reproduce
the defects.
Reference– where in you Provide reference to the documents like . requirements, design,
architecture or maybe even screenshots of the error to help understand the defect
3) Trac: It is a web based ,,open source tool specialized for issue tracking and
project management.
4) Redmine: It is an issue tracking tool that provides solutions for bugs and d
defects. It has several integrations with source code management systems (eg
GIT,CVS) .It supports different platforms and databases.
5) Backlog: This bug tracking tools offers software development with effective
bug-capturing and tracking activities.
Suppose, in general, “Kilogram” is a metric for measuring the attribute “Weight”. Similarly, in
software, “How many issues are found in a thousand lines of code?”, here No. of issues is one
measurement & No. of lines of code is another measurement. Metric is defined from these
two measurements.
Now, how can we measure the quality of the software by using Metrics?
Suppose, if a project does not have any metrics, then how the quality of the work done by a Test
Analyst will be measured?
Based on the above metrics, the Test Lead/Manager will get the understanding of the below
mentioned key points.
%ge of work completed
%ge of work yet to be completed
Time to complete the remaining work
Whether the project is going as per the schedule or lagging? etc.
Types Of Test Metrics:
Product Metrics
Product metrics are those which are used to build the artifacts, i.e.,
requirement specification documents, system design documents, etc. These
metrics help in the assessment if the product is right sufficient through
records on attributes like usability, reliability, maintainability & portability. In
these measurements are taken from the actual body of the source code.
2.Project Metrics
Project metrics define project characteristics and execution. If there is proper
management of the project by the programmer, then this helps us to achieve
better products. A relationship exists between the development process and
the ability to complete projects on time and within the desired quality
objectives. Cost increase when developers use inadequate methods. Higher
reliability can be achieved by using a better development process, risk
management process, configuration management process.
3.Process Metrics
Process metrics quantify useful attributes of the software development
process & its environment. They tell if the process is functioning optimally as
they report on characteristics like cycle time & rework time. The goal of
process metric is to do the right job on the first time through the process.
The quality of the product is a direct function of the process. So process
metrics can be used to estimate, monitor, and improve the reliability and
quality of software. Process metrics describe the effectiveness and quality of
the processes that produce the software product.
Examples are: