STT_notes_ChapterWise
STT_notes_ChapterWise
★ Why it is needed :
● Software Testing is very important because it discovers defects/bugs
before the delivery of the software to the client ,which guarantees
the quality of the software.
● It makes the software error free ,more reliable and easy to use.
★ Its purpose:
● Checking product and documentation in order to determine how far
the needs and requirements are met.
● To find errors,defects to measure quality and risks.
Q2) What is the test case? How to design it.Which techniques are
used
for designing a test case.
Ans :
● A test case is a set of conditions under which a tester will determine
whether the functionalities of software are working properly or not.
★ How to design it :
● Designing the test cases is the most challenging assignment of test
engineers.
● Test cases have to be designed based on two criteria namely…
1) Reliability &
2) Validity.
● A set of test cases is considered to be reliable if it detects all errors.
● A set of test cases is considered as valid,if atleast one test case
reveals the errors.
★ Techniques for test case design :
1) Black box
2) White box
3) Experience-Based
Q13)
Explain (No. of lines to be
Branch executed)
● Branch coverage and decision coverage are very similar but there is
a key difference between two.
● Decision coverage technique measures the coverage of conditional
branches whereas Branch coverage technique measure the
coverage of
conditional and unconditional branches.
★ Advantages :
1) To validate that all the branches in the code are reached.
2) To ensure that no branches can be executed abnormally.
3) It eliminates problems that occur with statement coverage testing.
★ Disadvantages :
1) This metric ignores branches within boolean expressions which occur
due to short-circuit operation.
2) It is costly.
3) It takes more time to perform the task.
★ Formula :
★ Example :
1. Test ( int X)
2. { if ( X > 4 )
3. X=X*3
4. print( x)
5. }
Test Case 1 : X = 9
Explanation :
● The outcome of this code is “True” if condition (X>5 ) is
Checked.
● The Flowchart for the above code is Thus Decision Coverage =
50%
Q16) Enlist the various code coverage techniques.
Ans :
1) Statement coverage
2) Decision coverage
3) Branch coverage
4) Loop coverage
5) Path coverage
1 The main objective is to test the The main objective is to test the
functionality,behavior of an infra-structure of an application.
application
★ Example :
★ Explanation :
1) Test case 1 : If X=6 and Y=2 Statement Coverage Code is =
2) Test case 1 : If X=-4 and Y=-6 Statement Coverage Code is =
1) Critical /Severity 1 −
● Defect impacts the most crucial functionality of Application
and the QA team cannot continue with the validation of
application under test without fixing it.
● For example, App/Product crashes frequently.
2) Major / Severity 2 −
● Defect impacts a functional module; the QA team cannot test
that particular module but continue with the validation of other
modules.
● For example, flight reservation is not working.
3) Medium / Severity 3 −
● Defect has issues with a single screen or related to a single
function, but the system is still functioning.
● The defect here does not block any functionality.
● For example: Ticket number format doesn't follow the correct
pattern of having alphabetical characters for the first five
characters and numeric characters for the last five characters.
4) Low / Severity 4 −
● It does not impact the functionality.
● It may be a cosmetic (appearance) defect, UI inconsistency for
a field or a suggestion to improve the end user experience
from the UI side.
● For example, the background color of the Submit button does
not match with that of the Save button.
Priority
● How soon a defect should be fixed
● How much a defect impacts the business or users
● How much a defect impacts development timelines
● How much a defect impacts customer impact
● A subjective measure that may vary between users or businesses
Example
● A misspelling on a website's home page might be low severity but
high priority because it affects the brand's reputation
●
● A bug that prevents a user from logging into an application might be
high severity and high priority
● Defect Life Cycle is a cycle in which a defect goes through during its
lifetime.
● The defect life cycle starts when a defect is found and ends when a
defect is closed ,after ensuring it is not reproduced.
● Its life cycle is representation of different states of different levels.
● Diagram :
Q24) Explain different states of defect in defect workflow.
Ans :
1) New :
● Whenever any new defect is found in an
application/software ,it is defined as “New” state.
2) Assigned :
● Newly created defect is assigned to the development team on
which the manager of the project has to work.
● This state is defined as an “Assigned State”.
3) Open :
● In the open state ,the developer analyzes the defect,works on
it and fixes it if required.
4) Fixed :
● When a developer finishes the task of fixing a defect by
making the required changes ,then it is marked as “fixed”.
5) Retest :
● At this point the Tester starts the task of retesting the defect
to verify if the defect is fixed properly by the developer or not
as per the requirement.
6) Verified :
● After re-testing of the defect ,If the tester does not find any
issue in the defect after being assigned to the developer then
it goes to the next state which is closed.
● And if the tester feels that the defect has been fixed
accurately,then the status of the defect gets assigned to
“verified” .
● If the defect is not fixed properly by the developer,then it is
sent to the Re-open state.
7) Closed :
● When the defect does not exist any longer,then the tester
changes the status of the defect to “Closed”.
Q25) Explain the attributes of the defect report.
Ans :
1) Defect ID : It is the unique identification number for the defect.
2) Defect Name : It is the name of the defect which explains the defect
in brief,its nature and type.
3) Project Name : It indicates the project for which the defect is found.
4) Module Name : For which the defect is found may be mentioned to
create a reference.
5) Phase Introduced : It gives information about when the defect has
been added in the application being involved.
6) Phase Found : It is the phase of the project when a defect is found is
added here.
7) Severity : It defines the severity of the defect which is declared in
the test plan.
Chapter 5
Q1) Define Manual Testing.
Ans :
● Manual Testing is the process of testing software for defects
manually.
● It is the oldest type of software testing.
● It is a method used by software developers to run tests manually
without the usage of automation tools or scripts.
● It is a process that is carried out manually in order to find defects
without using tools or scripts.