Manual Part3
Manual Part3
Forward traceability
The forward traceability test matrix is used to ensure that every business's needs
or requirements are executed correctly in the application and also tested
rigorously. The main objective of this is to verify whether the product
developments are going in the right direction. In this, the requirements are
mapped into the forward direction to the test cases.
Backward or reverse traceability
The reverse or backward traceability is used to check that we are not increasing
the space of the product by enhancing the design elements, code, test other
things which are not mentioned in the business needs. And the main objective
of this that the existing project remains in the correct direction. In this, the
requirements are mapped into the backward direction to the test cases.
Bi-directional traceability
But in a typical software testing project, the traceability matrix would have more
than these parameters.
Advantages/Goals of Traceability Matrix
➢ It helps in tracing the documents that are developed during various
phases of SDLC.
➢ It ensures that the software completely meets the customer's
requirements.
➢ It helps in detecting the root cause of any bug.
➢ With the help of the RTM document, we can display the complete test
execution and bugs status based on requirements.
➢ It is used to show the missing requirements or conflicts in documents.
➢ In this, we can ensure the complete test coverage, which means all the
modules are tested.
➢ It will also consider the efforts of the testing teamwork towards
reworking or reconsidering on the test cases.
For Example:
As present in the above image, the “AGE” text field accepts only numbers from
18 to 60. There will be three sets of classes or groups.
We have thus reduced the test cases to only 3 test cases based on the formed
classes thereby covering all the possibilities. So, testing with any one value
from each set of the class is sufficient to test the above scenario.
For Example:
If we want to test a field where values from 1 to 100 should be accepted, then
we choose the boundary values: 1-1, 1, 1+1, 100-1, 100, and 100+1. Instead of
using all the values from 1 to 100, we just use 0, 1, 2, 99, 100, and 101.
Then a tester will identify two outputs (action1 and action2) for two conditions
(True and False). So based on the probable scenarios a Decision table is carved
to prepare a set of test cases.
For Example:
Take an example of XYZ bank that provides an interest rate for the Male senior
citizen as 10% and 9% for the rest of the people.
In this example condition, C1 has two values as true and false, C2 also has two
values as true and false. The total number of possible combinations would
then be four. This way we can derive test cases using a decision table.
For Example:
5) Error Guessing
✓ This is a classic example of Experience-Based Testing.
✓ In this technique, the tester can use his/her experience about the
application behaviour and functionalities to guess the error-prone areas.
✓ Many defects can be found using error guessing where most of the
developers usually make mistakes.
✓ Divide by zero.
✓ Handling null values in text fields.
✓ Accepting the Submit button without any value.
✓ File upload without attachment.
✓ File upload with less than or more than the limit size.
✓ The Bug is the informal name of defects, which means that software or
application is not working as per the requirement.
✓ In software testing, a software bug can also be issue, error, fault, or
failure. The bug occurred when developers made any mistake or error
while developing the product.
✓ The bug had various names in different companies such as error, issues,
problem, fault, and mistake, etc.
➢ Wrong coding
➢ Missing coding
➢ Extra coding
Bug Report Template/Components
➢ As soon as the test engineer finds the bug, status is given as New, which
indicates that a bug is just found.
➢ This new bug needs to be reported to the concerned Developer by
changing the status as Assigned so that the responsible person should
take care of the bug.
➢ Then the Developer first go through the bug, which means that the
Developers read all the navigation steps to decide whether it is a valid bug
or not.
➢ Based on this, if the bug is valid, the Developer starts reproducing the bug
on the application, once the bug is successfully reproduced, the Developer
will analyse the code and does the necessary changes, and change the
status as Fixed.
➢ Once the code changes are done, and the bug is fixed, the test engineer
re-test the bug, which means that the test engineer performs the same
action once again, which is mentioned in the bug report, and changes the
status accordingly:
➢ Close, if the bug fixes properly, and functionally working according to the
requirement OR Re-open, if the bug still exists or not working properly as
per the requirement, then the bug sends it back to the Developer once
again.
➢ This process is going on continuously until all the bugs are fixed and
closed.
If bug is not accepted by developer, then developer needs to provide reason for
same. Developer can reject the bug based on following resolutions:
Invalid / rejected
➢ When the Test Engineer wrote an incorrect Bug Report because of
misunderstanding the requirements, then the Developer will not accept
the bug, and gave the status as Invalid and sent it back. (Sometime
Developer can also misunderstand the requirements).
➢ Reasons:
✓ Test Engineer misunderstood the requirements
✓ Developer misunderstood the requirements
Duplicate
• When the same bug has been reported multiple times by the different
test engineers are known as a duplicate bug.
• Reasons:
✓ Common features
✓ Dependent Modules
Not Reproducible
• The Developer accepts the bug, but not able to Reproduce due to some
reasons.
• Reasons
✓ Incomplete bug report
✓ Environment mismatch – Server Mismatch, Platform Mismatch,
Inconsistent bug, Build mismatch
Can't fix
➢ When Developer accepting the bug and also able to reproduce, but can't
do the necessary code changes due to some constraints
➢ Reasons
✓ No technology supports
✓ The Bug is in the core of code (framework)
✓ The cost of fixing a bug is more than keeping it.
Deferred / postponed
➢ The deferred/postpone is a status in which the bugs are postponed to the
future release due to time constraints.
➢ Reasons
✓ time constraints.
✓ Minor bugs
Severity
➢ The impact of the bug on the application is known as severity.
➢ It can be a blocker, critical, major, and minor for the bug.
✓ Blocker -> if the severity of a bug is a blocker, which means we
cannot proceed to the next module, and unnecessarily test
engineer sits ideal.
✓ Critical -> if it is critical, that means the main functionality is not
working, and the test engineer cannot continue testing.
✓ Major -> If it is major, which means that the supporting
components and modules are not working fine, but test engineer
can continue the testing.
✓ Minor -> if the severity of a bug is minor, which means that all the
U.I problems are not working fine, but testing can be processed
without interruption.
Priority
➢ Priority is important for fixing the bug or which bug to be fixed first or how
soon the bug should be fixed.
➢ It can be urgent (p1), high (p2), medium (p3), and low(p4).
✓ Urgent (p1) -> It is most critical and needs to address ASAP
✓ High (p2) -> it is a major impact on the customer application, and it
has to be fixed first.
✓ Medium (p3) -> In this, the problem should be fixed before the
release of the current version in development.
✓ Low (p4) -> The flow should be fixed if there is time, but it can be
deferred with the next release.
Examples
➢ High Priority, Low Severity bug -> If the company name is misspelled in
the home page of the website, then the priority is high, and severity is low
to fix it.
➢ High Severity, Low Priority -> Web page not found when user clicks on a
link (users does not visit that page generally)
➢ Low Priority, Low Severity -> Any cosmetic or spelling issues which is
within a paragraph or in the report
➢ High Priority, High Severity -> An error which occurs on the basic
functionality of the application and will not allow the user to use the
system (E.g., user is not able to login to the application)
➢ Ideally, the QA team does not proceed with the next phase until the exit
criteria of the current phase meets. The entry criteria should include the
completion of exit criteria of the previous phase.
➢ In real time, it is not possible to wait for the next phase until the exit
criteria is met. Now, the next phase can be initiated if the critical
deliverables of the previous phase have been completed.
➢ In each phase of STLC, the entry and exit criteria should be defined.
Entry Criteria
➢ Entry Criteria for STLC phases can be defined as specific conditions; or, all
those documents which are required to start a particular phase of STLC
should be present before entering any of the STLC phase.
• Entry criteria is a set of conditions that permits a task to perform, or in
absence of any of these conditions, the task cannot be performed.
• While setting the entry criteria, it is also important to define the
timeframe when the entry criteria item is available to start the process.
• For Instance, to start the Test Cases development phase, the following
conditions should be met −
✓ The requirement document should be available.
✓ Complete understanding of the application flow is required.
✓ The Test Plan Document should be ready.
Exit Criteria
➢ Exit Criteria for STLC phases can be defined as
items/documents/actions/tasks that must be completed before
concluding the current phase and moving on to the next phase.
➢ Exit criteria is a set of expectations; this should be met before concluding
the STLC phase.
➢ For Instance, to conclude the Test Cases development phase, following
expectations should be met −
✓ Test Cases should be written and reviewed.
✓ Test Data should be identified and ready.
✓ Test automation script should be ready if applicable.
--------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
REFERENCES
❖ HTTPS:// WWW .JAVATPOINT .COM /MANUAL- TESTING
❖ HTTPS:// WWW .GURU99.COM /MANUAL -TESTING .HTML
❖ HTTPS:// WWW .SOFTWARETESTINGMATERIAL .COM /MANUAL -TESTING -TUTORIAL
❖ HTTPS:// WWW .TUTORIALSPOINT .COM /SOFTWARE _ TESTING_ DICTIONARY /MANUAL _ TESTING .HTM
12.4M
297
C++ vs Java