Manual Testing (Gova)
Manual Testing (Gova)
REUIREMENT
FEASIBILITY STUDY (OR) ANALYSIS
DESIGN
CODING
TESTING
INSTALLATION
MAINTANANCE
It has different model
➢ Waterfall model
➢ Spiral model
➢ V. model
➢ Prototype model
➢ Derived model
➢ Hybrid model
➢ Agile model
Waterfall model: -
It is step by step procedure (or) A standard procedure
to develop a new software.
REQUIRMENT COLLECTION: -
It is nothing but collection of requirements from
customer’s place. it is done by business analyst or product analyst
where in BA will go to customers place and collect the requirement in
the business language and convert into software language and explain
the requirement to developer, test engineer, project manager, architect
etc. this process is called requirement collection.
Here BA acts like bridge between customers and IT companies.
WHO CAN BECOME BA?
Domain expert: -
A person who has worked on the same domain for 10 to 15 years and
has got very good knowledge can be called as domain expert
=>Senior development engineer /senior test engineer:
Who has got more than 6 to 8 years of experience on the same project
and has got very good project knowledge can become BA.
NOTE: -
➢ For 70% to 80% of critical, complex and longform project BA
will be there.
➢ For 20% to 30% of simple and small projects senior developer
or senior test engineer can play the role of BA.
Business Software
Language Language
►This is the stage where company will decide whether to take up the
project or not and if we take up the project company will check do we
have sufficient resources, sufficient technology and sufficient lab set
ups.
► This is the stage where company will get to know if they take up
the project do they get profit or not.
Roles of PM: Project manager will interact with Architect, BA,
Finance officer and HR team and gather the information and then PM
will decide to take up the project or not.
►Role of Finance team: Finance team will think from money point
of view, they will see how much should be invested and what is the
operational cost and we invest money do we get profit or not.
►Role of HR: HR team will think from resource point of view. they
will think how many experience engineers and freshers should be
hired to work on the project
Design:
Maintenance:
Once after the Software is installed Customer will the start to use the
Software and own run the business, while using the software. its
customers face any problem or issue then Company will fix the
problem or defects for free and reset the defect and give new Software
to the Customer freely for a period of 6 months to 1 year depending on
the agreement between the customer and the company. this phase is
called as maintenance.
Waterfall model: It is step by step procedure (or) A standard
procedure to develop a new software.
WHE THIS MODEL IS CALLED WATERFALL MODEL?
Here the backtracking is not possible i.e., once after the feasibility study
is completed all the requirement will be freeze and we cannot go back
and change the requirement so this model is called as waterfall model.
DRAWBACK OF WATERFALL MODEL:
1. Cannot adopt the changes in requirements
2. Testing is a small phase which is done only after coding.
3. Rework cost is high
4. For bigger and complex projects, this model is not good as a risk
factor is higher.
5. Not suitable for the projects where requirements are changed
frequently.
ADVANTAGES OF WATERFALL MODEL.
1. Simple and easy to understand and use.
2. it is easy to maintain.
3. Initial investment is less.
4. Since requirements are not going to change, we can expect very good
quality of the product.
APPLICATION OF WATERFALL MODEL:
1. To build small application.
2. To build short term application.
3. Whenever we are sure that requirements are not going to change.
WHAT ARE THE DISADVANTAGES OF DEVELOPER
TESTING THE APPLICATION.
1. Developers will utilize the time allocated for testing to build the
application.
2. Developers will be over confident.
3. They will concentrate more on development rather than testing.
4. They will not test the software from negative point of view.
5. Even though bugs are there in the software they may hide it.
6. Lack of End-to-End knowledge.
SPIRAL MODEL:
Spiral model is a step-by-step procedure or standard procedure to
develop the new software. In order to overcome the drawback of
waterfall model we go for spiral model. spiral model is mainly used
when there is dependency between the modules or features or
functionalities.
ADVANTAGES:
►Requirement changes can be done after every cycle.
►Customers get an opportunity to see the software in every cycles.
►Testing is done in every cycle before going to next cycle.
►Spiral model is a controlled model. Ime When one module is
completely stable then only, we develop next module.
Drawbacks:
►Requirement collection and design phase are not tested
Is not beneficial for smaller projects.
►Spiral may go infinitely.
►Documentation is more as it has intermediate phases.
►It is costly for smaller projects.
►Why spiral model is called iterative model?
In every cycle same process is repeated so the model is called iterative
model.
►Why this model is called Incremental model?
In every cycle we keep on adding new module, so this model is called
incremental model.
V-MODEL (VERIFICATION MODEL OR
VALIDATION MODEL)
It is step by step procedure or standard procedure to develop a new
software in order overcome the drawback of waterfall model and spiral
model we use v-model here all stages are tested
Verification:
Verification CRS, SRS.HLD, LLD again the requirement and check
whether if it is matching the requirement or not is called verification it
is done by the testers before the software is develop
Here we ensure that are we building software right,
system right product right or application right.
Validation:
Verifying the functionality of an application by
executing test cases is called validation it is done by the testers once
after the software is develop.
Here we ensure that are we building right product.
Advantages:
• Total time is less (testing is done from early stage)
• All the stages are tested
• Since testing is done in the early-stage downward flow of defect
will be less.
• Total investment is less (downward flow of defect will be less and
cost of fixing the defects is less)
• Software quality will be good.
• Requirement changes can be done in any stage
Drawback:
• Initial investment is high.
• Documentation is more.
Application:
• The requirement is well defined and not ambiguous.
• Project medium size is to large size.
• When costumers want to quality software which is in short span
of time.
Prototype model:
It is step by step procedure or standard procedure to
develop a new software
• Whenever the customer has no clarity about the requirement, we
will go for prototype model.
• Here we create a dummy software and show to the customer
• Until the customer like the dummy software, we will go for
agreement after successfully completed agreement we go for
actual software.
Advantages:
►Customer will get to know how the software looks in the early stage
itself.
►There will be improved communication between customers and
developers.
► Requirement changes are allowed.
►Missing functionalities can be easily figured out.
► Errors can be detected much earlier thereby saving a lot of effort and
cost.
►The developed prototype can be reused by the developer for other
projects in the future.
DRAWBACK :
• Total time take is high
• Total investment is more
• There will be delay in releasing software to customer
• Poor documentation due to continuously changing customer
requirements
APPLICATIONS:
• When the customer are not having the requirement .
• When ever the customer is new to the software .
• When the developers are new to the domain .
• When the customer gives the requirement in stages .
DERIVED MODEL :
Here we take a basic model or any single model and any single
model and change it according to the project needs to company
standards is called derived model.
HYBRID MODEL
The process of combining or merging more than one model into
single model is called hybrid model.
EX:1
Combination of prototype model
• Where the module are dependent and when the customer not
having clarity about requirement
• Not having clarity requirement prototype model
EX:2
We combine prototype +V.model➔customer ,not having clarity
about project and they wants quality of product in tight shedual.
SOFTWARE TESTING
The process of finding the defects in the software is called software
testing.
Or
Testing the functionality of an application according to customer
requirement specification is called software testing .
Or
Executing of programs with the intent to find the defect in software is
called as software testing.
TYPES OF SOFTWARE TESTING :
1. White box testing
2. Black box testing
3. Grey box testing
WHITE BOX TESTING :
• Testing each and every line of the program is called white box
testing.
• It's done by the developer in order to reduce the bugs, before
given the software to testing team
• WBT is also called as
➢ Unit testing
➢ Clear box testing
➢ glass box testing
➢ Transparent box testing
➢ Open box testing
➢ Code base testing
BLACK BOX TESTING
• Verifying the functionality of an application according to the
customer requirement specification is called BBT.
• It is done by the test engineer in order to find the defects.
➢ Functional Testing
➢ Specification based testing
➢ closed box testing
➢ Behavioural testing
Difference between WHITE BOX TESTING AND BLACK BOX
TESTING:
FUNCTIONAL TESTING:
Testing each and every component of an application Thorley or
rigorously (deep testing) again the CRS is called as functional testing
.
It is also called as component testing or field level testing.
FIRST NAME TEXT FIELD:
Application: Gmail
Module name: login /signup page
CRS: 4 to 16 characters accepted
@accpeted
First letter should be capital
Alpha numerical accepted
No blanks ,no spaces
‘_’ accepted
POSITIVE SCENARIOS:
1) It should accept minimum 4 character.
2) It should accept maximum 16 character.
3) It should accept @ symbol only once.
4) It should combination of numbers and alphabets.
5) It should accept only first letter is capital
6) Is should accept only _ symbol
7) It should accept only upper case alphabets also.
8) It should accept only lower case alphabets also.
9) It should accept combination of upper and lower alphabets.
NEGATIVE SCENARIOS:
1) It should not accept below 4 character.
2) It should not accept above 16 character.
3) It should not accept only numbers.
4) It should not accept only first letter is lower case.
5) It should not accept only lower case of alphabets.
6) It should not accept @ symbol more the once.
7) It should not accept blanks.
8) It should not accept special characters apart from @ character.
9) It should not accept spaces .
10) It should not accept emoji’s
POINTS TO REMENBER WHILE DOING FUNCTIONAL
TESTING:
i. We must always start testing the application with the valid
data.
ii. If the application is working for valid data only then we must
test for invalid data.
iii. If the application is not working for one of invalid values, we
can continue testing for the other invalid values.
➔In testing ,we should not assume or prepare requirement ,if we have
any queries, talk to the one who knows the requirement very well and
clarify the queries.
➔we must not do ever testing (testing for all possible junk values ) or
under testing (testing for a set of values ) we must only try to do
optimes testing.
➔we must do both positive testing(testing of valid data) and negative
testing (testing for invalid data)
TYPES OF TESTING:
Any testing we can do it in 3ways:
1. Over testing
2. Under testing
3. Optimized testing
OVER TESTING:
Testing the application with those scenarios which does not make
sense is called over testing by doing over testing we loose a lot of
time.
UNDER TESTING:
Testing t the application with the insufficient set of data is called as
under testing by doing under testing we miss lots of defects.
OPTIMIZED TESTING:
Testing the application with those scenarios which really make sense
is called optimal testing
ENTRY:
1. White box testing should be done.
2. The software should be installed in proper test environment.
3. Test cases should be ready.
4. Test data should be ready.
5. Resources should be available.
EXIT:
It is based on the following aspects
1. 85% to 90% of the test cases should be executed.
2. 85% to 90% of the test cases should be passed.
3. No critical & blocker bugs are allowed.
Steps to do functional testing:
Prepare functional test plane.
Prepare function test scenarios & test cases.
Execute test cases.
Report the defects.
Track and retest the defects.
Retesting & testing goes on until functional testing is completed.
TEST CASE:
Test case template(Header)
Test case name/test case ID:
Project name:
Release name:
Requirement ID:
Module name:
Pre condition:
Test data:
Priority:
Test case type:
Brief description:
BODY OF THE TEST CASE:
Step.no Action/description input Expected Actual Status
result result
FOOTER:
AUTHOR NAME:
CREATED DATA:
REVIEWED :
APPROVED BY:
INTEGRATION TESTING:
Testing the data flow between dependent module is called as
integration.
NOTE:
We will test the data flow only in one direction or we might test in
both the directions . we might not test the data flow to all the
modules because it varies from module to module.
APPLICATION:(google drive)
1. Login to google drive, click on (+) compose button and select
the file and click on upload button and check weather it is
display in.
2. Login to google drive ,application and delete ,the select file
,check weather the deleted file is displayed in bin.
3. Login to google drive click on bin select a file and restored.
PROCEDURE TO DO INTEGRATION :
I. First we should understand the complete project it mean we
should understand how each & every feature works.
II. We should understand how the feature are dependent.
III. Identify all possible scenarios.
IV. Prioritise the scenarios.
V. Write integration test cases.
VI. Test the application by executing test cases.
VII. While executing if we find out any defects we have to report
them to the development team.
VIII. Track and retest the defects.
IX. Tracking and retesting will continue until integration testing is
completed.
TYPES OF INTEGRATION TESTING:
There is two types of integration testing:
1. Incremental integration testing.
2. Non incremental integration testing.
NON-INCREMENTAL INTEGRATION TESTING:
It is a type of integration testing where all the modules are integration
at once and tested as a unit.
➔it is also called as big bang approach.
DISADVANDAGES :
• Identifying the root cause of the defect id difficult.
• We might miss some integration scenarios.
• Chances are there where it may prove to defect.
• We have to wait until the entire application is ready.
• We will have less time to test the application.
INCREMENTAL INTEGRATION TESTING:
Incrementally adding the modules and testing the data flow b/w
the dependent modules is called as incremental integration testing.
There are two types of incremental testing
1. Top-down incremental integration testing
2. Bottom-up incremental integration testing
ENTRY:
1. White box testing should be done.
2. The software should be installed in proper test environment.
3. Test cases should be ready.
4. Test data should be ready.
5. Resources should be available.
6. It should have met with exist criteria of functional testing.
EXIT:
1. All test cases should be executed.
2. 90 to 95% of the test cases should be passed.
3. No critical & blocker defects should be there in the software.
SYSTEM TESTING:
It can also defined as, it is an end to end testing where testing
environment should be similar to production environment /
Why it is end to end testing:
Testing navigate through all the feature and check whether the end
feature or latest feature is working as expected or not.
Example for end-to-end testing:
CBO-CRS-1
If any new customer apply overdraft for the first time then the back
should charge 2% rate of interest per month and also they should
charge an activation fees of RS.250
If the same customer apply over draft for second time the bank
should charge only 2% rate of interest per month and bank will not
charge activation fee.
TYPES OF ENVIROMENT:
1. Development environment
2. Testing environment
3. Production environment
DEVELOPMENT ENVIROMENT:
In the development environmental develop the software .which is
access to development team . in this development environment
development lead and senior development engineers.
TESTING ENVIRONMENT:
In the testing environment testing the software and finding the bugs
which present in developed software. This is access to testing team. In
test lead and senior tester and testing engineer are there.
PRODUCTION ENVIRONMEN:
In the production environment which is access to the customer .when
software is ready then install to the customer place in production
server to use this run the business by customer.
WORK ALLOCATRION:
Work allocating to the developer or tester based on there work
experience.
Example:
• critical work is given to 5-6 experience persons
• major work given to 3-2 experience persons.
• Miner work given to fresher 1 year experience.
BUILD PROCESS:
Business analyst will collect the requirement and given to project
manager. He will give to development team & testing team.
→development team will develop the application and compile &
compress the source code. White box testing is done. Then build is
ready the development lead inform to test lead as
• Build is ready
• It is in server….(source code)
• Path: D drive/BO1
• Module is ready
• White box testing is ready.
→develop team develop the software that time testing will do
understanding the requirement identify the scenarios and write test
cases. Once development lead informs to test lead. Then test lead go
to server which is given by development lead. copy the build (BO1)
and install the software in test server and given URL to engineers
the test the software.
In order to finding the bugs and report to development team as
bug report tools like zira , ALM.
→testing team will testing the module in that time development team
develop another module and bug fix which are reported by
development team and again report to test lead.
→test lead again go to develop server copy the module of built install
in test server. Before install the test server. We may delete old module
so again retest first new module, bug fixes and last we will test old
module. Finding bugs report to development team this process is
called build process.
Why test engineer will find new bugs in the old modules ?
• Adding new module might introduce defect in old module.
• Fixing the defect might introduce mew defect in the old module
• Test engineer might have missed defects in the previous test
cycle.
When do we do system testing?
when minimum bunch of modules are ready.
When the testing environment is like production environment is
available.
When the basic functionalities are working fine.
What is release or first release or 1 release?
Starting from gathering the requirements followed by developing the
software and testing the software. for many cycles and deploying the
software into the production server is called release.
When to release the software to the customer?
❖ When all the features requested by the customer are ready
❖ When there are no blocker and critical bugs
❖ When the product is functionally stable
❖ Once after the software is tested in testing server like production
server
❖ When all the end-to-end scenarios are working fine
❖ When we are about to meet deadline or release date given by
customer
TEST CYCLE:
It is an effort or duration to start and complete the testing.
The test cycle duration can be 1 day or 2 days or 3 days its dependent
on size of the application, complexity of the application and size of
the testing team.
EX:
Project 1month=4units
Duration :1year 10months=40units
2months→write test cases test cycle=5days for 1 unit
10months→test execution
Re-spin:
Getting more than one built with in a test cycle is called re-spin.
Whenever tester find blocker bug developer will give re-spin.
Patch:
Set of modifying programs is called patch.
When there are blocker bugs developer will give patch.
Re-spin is referred as patch.
Build:
The process of source code file is convert into executed file knowns
as build.
CONTINUOUS INTEGRATION:
Continuous integration (CI) is the practice of automating the
integration of code changes from multiple contributor into a single
software project . it is a primary develop best practice, allowing
developer to frequently merge code change into a central repository
where builds and tests then run.
CONTINUOUS INTEGRATION TOOLS:
• Jenkins
• Circleel
• Team city
• Bamboo
• Gitlab
• Travis CI
• Buddy
• Codeshoe
Who is involved installation of build?
Any body from testing team.
Any body from development team.
Build engineer or release engineer.
Version control tool (source code management tools):
Version control is a way to keep a track of the change in the code so
that if something goes wrong. We can comparisons in different code
version are revert to any previous version that we want. it is very
much required where multiple developers are continuously working
on/change the source code.
Best version control tool:
Git
CVS (concurrent version system)
SVN (apache sub version )
Mercuria
Monotone
Bazaar
TFS(team foundation server)
ACCEPTANCE TESTING:
Approach:1
It is an end-to-end testing done by it engineer sitting in customer
place where in they take real time business scenarios and check
whether software is capable of handling it.
Approach:2 UAT(user acceptance testing)
It is an end-to-end testing done by the end users where in they use the
software for the business for a particular period of time and check
whether software is capable of handling real-time business scenarios.
Approach no.3:
It is an end-to-end testing done by test engineer sitting in the
customers place where in they check whether the software is capable
of handling real time business scenarios.
Approach no.4:
It is an end-to-end testing done by test engineer in their own place
where in they check whether the software is capable of handling real
time business scenarios.
Approach no.5:
It is an end to end testing done by customers customers . where in
they check whether the software is capable of handling real time
business scenarios.
The no. of acceptance test cycle might increase because of the
following reason: -
1. Test team is not proper testing.
2. Customer might ask more changes once after the software is
delivered to the customer.
3. The requirement which was given in the beginning is not clear it
is lead lot of reworks.
Alpha Testing Beta Testing
Alpha testing involves both the white Beta Testing typically uses Black Box
box and black box testing Testing
Alpha testing requires a lab Beta testing doesn't require any lab
environment or testing environment environment or testing environment.
The software is made available to the
public and is said to be real time
environment
Long execution cycle may be required Only a few weeks of execution are
for Alpha testing required for Beta testing
Alpha testing is to ensure the quality Beta testing also concentrates on the
of the product before moving to Beta quality of the product, but gathers users
testing input on the product and ensures that the
product is ready for real time users
Smoke Testing:
Smoke Testing/Sanity Testing
/Build Verification Testing/
Dry run testing/
Confidence Testing
• Testing the basic and critical features of an application before
going thorough testing is called as smoke testing.
• It is also called Build Verification Testing – because we check
whether the build is broken or not.
• How to do Smoke Testing?
• Here list the features to be tested as part of smoke testing and
list the features are not to be tested as part of smoke testing and
test. In smoke testing, we do only positive testing – i.e, we
enter only valid data and not invalid data.
Project:
• Gmail.
Smoke testing can be done both manually and also with the help of
automation tools. But the best and preferred way is to use automation
tools to save time.
Advantages:
Easy to perform .
Reduces the risk.
Defects are identified at a very early stage.
Saves efforts, time and money.
Runs quickly if automated.
ADHOC TESTING:
AD-HOC testing also called monkey testing /gorilla testing.
Testing the application randomly is called ad-hoc testing.
Why we do ad hoc testing?
1) End-users use the application randomly and they may see a defect,
but professional TE uses the application systematically so they may
not find the same defect. In order to avoid this scenario, TE should go
and then test the application randomly (i.e, behave like and end-user
and test).
2) Development team looks at the requirements and build the product.
Testing Team also look at the requirements and do the testing. By this
method, Testing Team may not catch many bugs. In order to avoid
this, we do random testing behaving like end-users.
3. In order to increase the bug count we should do adhoc testing
4. In Order to improve the test coverage we do adhoc testing.
5. In order to ensure the application is working according to implicit
requirement we do adhoc testing.
6.the intention of adhoc testing is to some ow break the product.
How to do adhoc testing.
1.Login to Gmail, click on compose, enter values for all the fields,
click on send button, click on logout, click on browser back button
and check whether login page is displayed.
2.Login to Gmail with valid login credentials copy the home page
URL, click on logout, Open the browser and past the URL and check
whether login page is displayed.
EXPLORATORY TESTING
Explore the application understand each and every feature, based on
understanding identify all possible scenarios and document it, refer
the documented scenarios and test the application is called
Exploratory testing.
Drawback:
• Test engineer might misunderstand feature as defect and defect
as feature.
• If any feature are not implemented test engineer may not be
able to find it
Below are some tips/tricks that you can use in ET:
Solution:
• There is no consistency in the text execution.
• Test engineer might miss lot of defects.
• Quality of testing varies from person to person
• Testing depends on memory power of the test engineer.
• Chances are there we might test same scenarios again and again.
• Test coverage will not be good.
When do we write test case?
▪ When customer gives new requirement we should write test
case.
▪ When customer wants to add new features or extra features we
should write test case.
▪ When customer wants to do modification on the existing feature
we should write test case.
▪ While testing the software if test engineer come up with creative
scenarios we should write test case.
▪ While testing the software if test engineer finds any defect and if
test case is not present for the defect then we should update test
case for the defect.
Test case design technique / testing technique /design technique /
black box technique / software design technique.
Test design techniques are the techniques which is applied while
writing test cases in order to improve the test case coverage.
Error guessing:
Here we guess all the passible errors for the given application based
on experience and intuition.
ECP (equivalent class partitioning)
1)pressman method:
Rule1:
If the given input if it is a range of value then derive the scenarios for
1 valid & 2 invalid values.
Rule2:
if the given input if it is a set of values then derive the scenarios for 1
valid & 2 invalid values.
Rule3:
If the given input if it is a Boolean then derive the scenarios for both
true & false value.
2)practice method:
If the given input if it is a range of values divide the range into
equivalent parts and test it for all the values but we should make sure
that we are testing for at least two invalid values.
Note:
When there is a deviation in the given range we should prefer partice
method.
BVA(boundary value analysis):
If the given input if it’s a range of values between A and B the
derived the scenarios for A,A+1,A-1 & B,B+1,B-1.
Test case template:
• In every company test engineer will write test cases in the test
case template only.
• Test case template is not standard, it can varies from project to
project and company to company.
• Test case template will be prepared in the test case management
tool or MS-excel.
Test case review process:
Test case review process is an important process to follow in software
testing. Test case ensures that each and every functionality mentioned
in Software Requirement Specification is covered.
Test case should be effective and also follow the standards to write
test case. To success and completeness of any test cases every test
case should be reviewed. There are different types of test
case review process.
Test Case Reviews can be done in three ways:
1. Self-review: It is done by the tester himself who has written the test
cases. He can verify whether all the requirements are covered or not
by looking into SRS/FRD.
2. Peer review: It is done by another tester who hasn't written those
test cases but is familiar with the system under test. Also known as
Maker and Checker review.
3. Review by a supervisor: It is done by a team lead or manager who
is superior to the tester who has written the test cases and has great
knowledge about the requirements and system under test.
While reviewing, the reviewer checks the following,
1) Template - he checks whether the template is as per decided for
the project
2)Header:
a) Checks whether all the attributes are captured or not
b) Checks whether all the attributes in the header are filled or not
c)checks whether all the attributes in the header are relevant or not
3) Body:
a) Check whether all possible scenarios are covered or not
b) Check whether the flow of test case is good or not
c) Check whether the test case design techniques are applied or not
d) The test cases should be organized in such a way that it should less
time to execute
e) Check whether the test case is simple to understand and execute
f) Check whether proper navigation steps is written or not
points to remember / tips while reviewing test cases:
1. While reviewing test case ,it is better to have a copy of
SRS/FRD with you for the reference.
2. If you are not sure about any test case or expected results ,it is
better to discuss with the client or your supervisor before
making any decision.
3. If possible then try to execute test cases on the SUT(system
under test ) to have a better understanding of the results and
execution steps.
4. It is always better to have face to face meeting with the tester to
make him understand all the review feedback properly.
5. It is recommended to follow version numbers in review process.
procedure to write the test case:
SYSTEM STUDY
IDENTIFY SCENARIOUS
PRIORITIZE SCENARIOUS
WRITE TEST CASES
REVIEW TEST CASES
FIX THE REVIEW COMMENTS
VERIFY THE FIX
APPROVE TEXT LEAD
STORE THE TEST CASES IN THE TEST CASE REGORSITY
Brainstorming meeting
It is a meeting conducted by testing team, in this meeting they will
discuss about scenarios what they have identified, here each and every
test engg will explain the scenarios what they have identified, where
in other TE will try to understand the scenarios what he is explaining.
If the other test engg finds any defects in the scenarios like wrong,
missing, duplicate scenarios that will be given as a feedback to the
test engg.
The test engg will update the scenarios, This cycle will repeats on
every test engg.
This meeting will be measured by TL once after the meeting
With the help of this meeting we will have a good coverage
in the scenarios.
How do you ensure that your test coverage is good? Or how do
you convince your test manager or customer standing your test
coverage is good?
1. have written test case by applying test case design technique, so my
test coverage is good.
2. I have covered all positive and negative scenarios
3. I have conducted brainstorming meeting, so my lest coverage is
good
4. I have got my test cases reviewed by other test engg.
5. I have written test cases by following procedure to write test case
method 6. While test execution found creative scenarios and added
into test case
7. I will do adhoc testing and this will help me to improve test
coverage
8. I have spent more time in doing system study, because of that i got
very good project knowledge which helped me to write more no. of
scenarios
9. I have prepared traceability matrix and ensured each and every
requirement has at least one test case, so my test coverage is good
STLC
(software testing life cycle)
➢ STLC stands for software testing life cycle.
➢ It is standard procedure to test the software.
➢ It is a part of software development life cycle (SDLC).
➢ It has different stage.
SYSTEM STUDY
WRITE TEST PLAN
WRITE TEST CASE
TRACEBILITY MATRIX
TEST EXECUTION
DEFECT TRACKING
TEST EXECUTION REPORT
RETROSPECTIVE MEETING
System study:-
Here tester should try to understand requirement if they have any
queries they should talk to the one who known the requirement very
well and clarify the queries.
Test Plan:
Mistakes
• Dev team didn't fix the blocker defects on time which delayed
our testing
• Requirements were not clear
• TC Review did not happen properly.
Test execution:
Test execution is the process of execution the test case and comparing
the expected and actual results.
Defect tracking:
In this section we mention how to communicate. The defects found
during testing to the development team should respond to it.
Test execution report:
Test execution report is prepared after every test cycle and sent to
development team, testing team, management and customer (depends
if it is a fixed big project is over – according to the customer.
Defect life cycle
What is a defect?
It is a mismatch in the expected and actual behavior of an application.
Or
It is a deviation from the customers requirement specification.
Example:
1. Unable to create account even after entering valid data to all the
required fields.
2. Added products are not displayed in the cart.
Defect occurs in the application because of the following reasons.
PERFORMANCE TESTING:
Verifying the stability & response time of an application by applying
load is called as performance testing.
1. Stability: ability of an application to respond to the users
(efficiency)
2. Response time: over all time taken by the application to respond to
the user.
3. Load: number of users using the application at a time.
10mb download
5mb
Normal settings
Restoring the
Disaster/crash
Previous data
occurrence
Recovery
Testing
cycle
Reliability testing:
Testing the functionality of an application for a continuous period of
time is known as reliability testing.
Reliable:-
House office
8:00am 9:00am
Why we do reliability testing:
• To check whether the application is failing at any point
• To identify why is it failing.
• How many times is it failing.
How to do reliability testing:
We use automation tools where the testers write the specific scripts
for the tool to check the application if it is failing at any point of time.
Same of the tools are:
1. Weibull++ - reliability data analysis
2. RGA - reliability growth analysis
3. RCM – reliability cantered maintenance.
When to do reliability testing:
When the application is stable we perform reliability testing.
Some of the real time examples are:
Social media application : facebook ,Instagram ,whatsapp etc.
Gaming application : PUBG,temple run etc:
Media entertainment : hotstar ,reflex etc.
Education domain : BYJU’s
Note: it is not a mandatory testing and is done based on the customer
domain and the type of application.
Priority and severity:
severity is a impact of a defect on the customer business the different
severity levels are.
Blocker:-
This defect indicates complete shot down of the process , nothing can
proceed further.
Critical:
It is a highly severe defect and collapse the system. However ,certain
parts of the system.
Major:
It causes some considerable behaviour, but the system is still
functional .
Minor:
it wont cause any major break down of the system.
Priority:
It is defined as the order in which a defect should be fixed higher the
priority the sooner the defect should be resolved.
The different priority levels are.
High: the defect must be resolved as soon possible as it affects
system severely and cannot be used until it is fixed.
Medium :
during the normal course of the development activities defect should
be resolved it can wait until new version is created.
Low:
The defect is an irritant bot repair can be done once .the serious defect
has fixed.
High severity and high priority
1.place order functionality is not working in online shopping
application
2. Unable to select current location and destination location
is ola application
3.join meeting option is not working in skype application
4.send request option is disable in facebook application
5.send message feature is not working in whatsapp
6. The user performs adding an item to the cart, the number of
quantities added is incorrect / wrong product gets added
Low severity & low priority
1.spelling mistake in the confirmation message
2.alignment issues in the achieved project page
3.confirmation message is not displayed after logout from gmail
application
4.relatively more time is taken to terminate session in the go to
meeting application
5.color of the text or tab is too dark
6.font size is small
High severity and low priority
1.blank page is displayed on click help link
2.external link provided in the application is not working
3.unable to install whatsapp application for 30th time
4.application crash on multiple click on delete mail button in trash
module of the gmail.
Low severity & high priority
1.spelling mistakes in the name or logo
Test plan:
Test Plan is a document which derives all future testing activities of
the project.
It has following sections:
1. Objective
2. Scope
3. Approach
4. Testing methodologies
5. Assumption
6. Risks
7. Backup plan
8. Schedule
9. Roles and responsibilities
10. Defect tracking
11. Test environmental
12. Entry and exit criteria
13. Test automation
14. Deliverables or test artifacts
15. Templates
16. Effort estimation
Objective:
It gives the aim of preparing test plan i.e why are we preparing this
test plan.
Scope:
In the planning stage, we decide which feature to test and which not
to test due to the limited time available for the project.
2.1 features to be tested
2.2 features not to be tested
Features not to be tested
a) "HELP" is a feature developed and written by a technical writer
and reviewed by another technical writer. So, we'll not test this
feature.
b) Third party modules of the application.
c)The application might be having link to some other application.
Here, our scope of testing is limited to,
Whether link exists
If it goes to homepage of the corresponding application when we
click on the link.
TESTING METHODOLOGIES
Depending upon the application, we decide what type of testing we do
for the various features of the application.
4)APPROACH
The way we go about testing the product in future,
a) By writing high level scenarios
b) By writing flow graphs
5)Assumptions:
When writing test plans, certain assumptions would be made like
technology, resources etc.
6) RISKS
If the assumptions fail, risks are involved
7) CONTINGENCY PLAN OR MITIGATION PLAN OR
BACK-UP PLAN
To overcome the risks, a contingency plan has to be made. At least to
reduce the percentage from 100% to 20%
Always assumptions, risks, mitigation plan are specific to the project.
The different types of risks involved are,
• Resource point of view
• Technical point of view
• Customer point of view
8) SCHEDULES:-
This section contains - when exactly each activity
should start and end?
9) ROLES AND RESPONSIBILITIES
9.1 Test Manager
Ø.Writes or reviews test plan
Ø.Test manager will interact with customer, management,
development team and testing team
Ø.Sign off release note
Ø.Handle issues and escalations
Ø.Test Manager will be involved in the effort estimati
Ø.Approve test case (not always)
Test Engineer 1
Ø.Involved in system study.
Ø.Involved in identifying scenarios.
Ø.Conducting brainstorming meeting and updating scenarios
Ø.Converting test scenarios into test cases
Ø.Involved in reviewing test case
Ø.Giving review comments and fixing the review comments
Ø.Involved in execution the test case
Ø.Involved in identifying the defects and communicate defects to dev
team using defect tracking tool.
Ø.Involved in tracking the defects
Ø.Involved in selecting test case for regression testing
Ø.Involved in updating test case, whenever req are getting changed
ØInvolved in conducting bug triage meeting
Ø.Involved in performing traceability matrix
Test Engineer: (Automation Engg.)
Ø.Set up and install the product
Ø.Identify test cases to be automated
Ø.Automate identified test cases using Automation tool like
Selenium, UFT, etc...
Ø.Execute and maintain automation scripts
10) DEFECT TRACKING
In this section, we mention - how to communicate the defects found
during testing to the development team and also how development
team should respond to it.
This section contains
10.1 Procedure to track the defects
10.2 Severity Level
10.3 Priority Level
10.4 Defect tracking tool to be used
11. Test Environment
In this section we mention what are the hardware and software needs
to be used on order to set up test environment
11.1 Hardware:
Server Side: Server:- Sun Starcat 1500
Client: Processor: Intel 2GHz
RAM: 8GB
Hard disk: ITB
11.2 Software:
11.2.1 Server
OS: Linux
Web Server: TomCat
Application Server: Websphere
Database Server : Oracle (or) MS-SQL Server
11.2.2 Client
OS: W7, W8, W10
Browser: Chrome, Firefox
11.3 Procedure to install the software
12) Entry and Exit Criteria
Here developers will test all the condition given in the source code for
both true and false conditions
If (condition)
{
True
}
Else
{
False
}
LOOP TESTING
Here developer should test the loops for all the iteration. It can be
done manually or automatically (unit test scripts)
WHILE (I<-5000) TEST SCRIPT
{ {
----------------------- -------------------------
----------------------- -------------------------
} }
Unit test scripts are written for checking loops and other programs
automatically.
unit test scripts can be written for doing path, conditional, loop testing
PATH TESTING
Here developers should test each and every independent path of the
application, test all the independent paths whenever the changes made
in the source code, we should check for all the dependent paths.
NOTE
• Wbt testing can be done automatically or manually with the hel
test programs (unit test scripts)
• a set of unit test scripts are known as unit test suit/ unit test
case/ unit test list.
Agile model
What is Agile?
It is a standard procedure or step by step procedure to develop the
new software.
Its an Iterative and incremental Approach.
PRINCIPLE OF AGILE METHODOLOGY
➢ In this meeting test engineer list all the open and pending bugs
which are not fixed by the developers in the current and
previous release as a team we will re prioritize the defect from
the customers' business point of view and decide how many
bugs should be fixed as part of a current release and how many
bugs can be move to upcoming release.