Explain Me About Software Testing Life Cycle (STLC) ?
Explain Me About Software Testing Life Cycle (STLC) ?
Software Testing Life Cycle will have below phases: Every tester in software testing will go
through below phases.
Let’s take an example: I have an application in which we have to enter employ number in
order to create new employ in the system. Let’s say requirement given for this filed is it
should be minimum of 1 and maximum of 1000 as minimum and maximum range. For this
example if we use boundary value analysis we have to test with by entering following
numbers
In equivalence Partitioning we basically have two classes one is valid and other tow are
invalid.
Example: Let’s take same example which understood from above question for BVA and see
how we input in case of Equivalence Partitioning I have an application in which we have to
enter employ number in order to create new employ in the system. Let’s say requirement
given for this filed is it should be minimum of 1 and maximum of 1000 as minimum and
maximum range. For this example if
We test with below one valid and two invalid classes using Equivalence Partitioning
One Valid Class:
Enter any number between the range which is nothing but 1 to 1000 so you can enter any
number like say 90
Enter any number below the range which is nothing but less than minimum value which is 1
in this case. so you can enter any number below range like say -10
In simple words to say static testing falls under “Verification” & dynamic testing falls on
“Validation”.
In simple words to say, it is a document that maps and traces client requirement with test
cases. The main purpose of Requirement Traceability Matrix is to make sure that testing
team written test cases to cover client requirements so that no functionality will miss from
testing team under testing.
“User should be allowed to register an account with FaceBook and duplication of user
should not be allowed to create”
For above requirement / user story we write below scenario and test cases
Test Scenario: Verify user allowed to register an account
Test Cases: We write multiple test cases for the above scenario:
1. Create an account and check account is created
2. Check system is not allowed to create duplication of user
3. Verify GUI (Graphical User Interface) of Register Account page.
4. Verify filed level validation for Register Account page
16. What are the different types of test cases you write?
We always have to consider below types of test cases for each and every requirement /
user story
● GUI: Graphical user interface test cases cover UI of application. Here we write test
to check whether application screen showing as per the expectations which are
given by client or not. Also we check look and feel of the screen like alignment
issues, overlapping of the fields and spell check etc.. But for everything we need not
to write a test case but we write at least one test case for checking UI.
● Functional: Here we write test cases to check the functionality of application is
working as expected or not
● Filed Level Validation: Here we write test cases to check for each and every field
for below
● Mandatory Data Validation: If field is mandatory then leave that filed blank click
on submit and see system throws valid error message
● Max size data: Enter data more than maximum size specified. Let’s say
FirstName filed supposed to take maximum of 100 letters then enter more than
100 letters and check proper error message is displayed or not.
● Minimum size data: Enter data less than minimum size specified. Let’s say
FirstName filed supposed to take minimum of 5 letters then enter less than 5
letters and check proper error message is displayed or not.
● Invalid data: Let’s say FirstName field should take only letter then enter some
invalid data like #%#%%%^1344 and check proper error message is displayed or
not.
17. Difference between Error, defect & Bug?
Error: let’s say developer written code to implement addition of two numbers and where
by mistake instead of “+” he added as “-“. So there is an error in the code instead of
addition he is doing subtraction. This is called error in the code
Defect: Tester founds this error while doing the testing is called as a defect
Bug: Once defect is agreed as valid from development team then it is called as bug.
18. Explain the Defect Life Cycle.
Once tester finds a defect while doing the testing it will go with below life cycles
● When defect is found it will be raised in one of the defect management tool, it will
be with status as “New” (status varies between the defect management tools)
● This defect will be taken with development team / stakeholders in “Triage” status to
discuss on this defect
● If this defect is valid and agrees by development team then it will go to status as
“Active” and will be assigned to developer. All the defects agreed as valid defects
will go as Active.
● If this defect is not valid then it will go as “Rejected”
● Once developer starts working on it will go status as “In-Progress”
● Once developer fixes the defect it will go as “Resolved” and assigned back to tester
for re-testing
● Once tester tests the defect and confirms it is working fine then tester will change
status of defect to “Closed”
● If defect is still exist even after fix then tester will change status to “Re-Open” as it is
not working
● Once defect is in “Re-Open” status by tester, it will go above process again like
active, in-progress, “Resolved”
● New
● Triage
● Active
● In-Progress
● Resolved
● Re-Open
● Closed
20. What is defect severity & priority?
Severity: Tells how severely a defect is impacting to business / system
Priority: Tells urgency of fix of defect how soon it should be fixed
21. Explain me different severities & priorities?
Every defect management tool will have its own severities and priorities. But most the tools
will have below
Severities:
● Critical
● High
● Medium
● Low
Priorities:
● P1
● P2
● P3
● P4
22. As a tester you raised defect and developer is not accepting it as
defect. What you do in this situation?
It is common case in most of the projects as understanding of requirement differs from
person to person. So have to explain with requirement reference number / user story
number which you are referring as it is valid defect. We need to explain that we have not
raised defect in assumptions and it is raised as it is not working as per the expected.
● All the test cases are executed and no test case is not in run state
● 95% of the test cases are passed
● No test case is in blocked status
● No critical, high & medium defects are in open / active status
25. What you do if no sufficient time is given for testing?
● We plan to test core functionalities of the system
● We try to cover complete end to end flow of testing
● We may not concentrate on field level validation.
Test Metrics: It is used get the progress of testing where do we stand on daily basis,
weekly basis. Test Metrics helps in preparing reports like DSR(Daily Status Report) &
WSR(Weekly Status Report)
Traceability Matrix: Is a document which helps to make sure we are not missing any
requirement from testing point of view. Here we map the test cases against with
requirements to make sure all the test cases are covered for given client requirements. In
some projects we send this document to client as well.
27. What is Regression testing
This testing is performed to test to make sure newly added / modified code is not
introducing any defects in existing system.
We do impact base analysis and consider only the test cases which are impacted as part
new user story requirement.
Whenever we have to regression testing, we need to consider what we have to test as part
of regression testing. So for this we need to do impact base analysis. Let’s look at below
example to understand in detail
Example:
Sprint 1 / Release 1: We got below user stories / requirements from the clientand let’s say
we have written 100 test cases for below 4 user stories / requirements.
1. User should be able to register an account
2. User should be able to add beneficiaries
3. User should be able to transfer funds within the bank
4. User should be able to raise a complaint through online once login
Sprint 2 / Release 2: We got below user stories / requirements from the clientand let’s say
we have written 50 test cases for below 4 user stories / requirements.
1. User should be able to raise cheque book request
2. User should be able transfer funds to other banks as well
3. User should be able to pay bills online after login
4. User should be able to apply for credit card
As tester what we do here:
Step 1: We do testing of all user stories / requirements as part of Sprint 1 / Release 1. Means
we execute all 100 test cases as part of testing.
Step 2: Same as step 1 we execute 50 test cases which are written as part of Sprint 2 /
Release 2
Now what’s next? Now it’s time to consider regression testing. So we need to do impact
base analysis and consider what to test as part of regression testing here?
If you look at 4 requirements from Sprint 1 and 4 other requirements from Sprint 2.
In Sprint 1 we tested transfer funds with in the bank but here developer is modifying the
code of transfer funds to implement funds transfer to other funds as well.
29. What is compatibility testing and what do you consider here as part of this testing
If client says it needs to be compatible with Mobile, Tablet & Laptop then we need to test
application in these devices.
30. How do you make sure you cover all the testing for given requirements.
We do this by using Traceability Matrix where we map test cases against each requirement
which are given by client.