MT Imp
MT Imp
Sneha Gejji
1
Topics Page
SDLC 02
Waterfall model 03
Spiral model 08
Prototype model 10
V-model 11
Software testing 12
WBT 14
BBT 17
Functionality testing 17
Integration testing 20
System testing 24
Acceptance testing 29
Smoke testing 31
Ad-hoc testing 33
Agile 34
Compatibility testing 41
Performance testing 44
Globalization testing 48
Usability testing 50
Yellow box testing 51
Comparison testing 51
Accessibility testing 52
Reliability testing 52
Recovery testing 52
Exploratory testing 53
Regression testing 54
Defect 61
Test case 76
Test plan 89
STLC 97
2
SDLC
(Software development life cycle)
Definition:
It is a procedure to develop the software.
Stages:
Waterfall model
Definition:
It is a step-by-step procedure to develop the software. It is a traditional model
Stages:
Coding:
Here we start building the software or writing the code for the product. It is done by
Sr. Dev, Jr. Dev, Freshers
6
Testing:
After coding we start testing were in, we identify defect in the software it is done by test
engineer
Maintenance:
After the software is installed and used if the customer finds any defect, the software
company will fix it according to agreement that is, if the defect is found in the
maintenance period, then the software company will fix it free of cost
Advantages:
1. Requirement or Design doesn’t change so we get a stable product.
2. Quality of the software is good.
Drawbacks:
1. Backtracking is not possible i.e., for example, we cannot change the requirement
once the design stage is completed, meaning the requirement are freeze. Hence
this model is not flexible.
2. Requirement is not tested, Design is not tested, if there is any bug in the
requirement it does till the end & leads to a lot of reworks.
3. It is a traditional model, where developers were involved in testing.
Applications:
1. We go for waterfall Model to develop simple applications where the requirements
are fixed.
2. We go for Waterfall model to develop short term products where the
requirements are fixed.
Ex: Alarm, Calculator.
8
Spiral model
It is the process of developing the software. Here software is developed module wise
Here once requirement collection for ‘A’ is done, we go for design of module A
Once design is done & after coding, we go for testing of ‘A’ same process continue
module wise for the upcoming requirement.
2)Minor changes
Advantages:
1. Requirement changes allowed after each cycle with minimum effort
2. Addition of new requirement is allowed
Drawback:
1. Same process repeated for each & every module
2. It is a traditional model where developers are involved in testing
Application:
We go for spiral model whenever customer gives the requirement in stages
10
Prototype model
Here we develop a prototype model or a dummy model before actual development of
the software
Here, the customer looks at the prototype and give the feedback if any changes are
needed
After the prototype is confirmed by the customer the actual design, development and
testing of the software happens
Advantages:
1)Good communication between the customer & development team
2)customer can make the changes if needed after looking at the prototype
Dis-advantages:
1)Investment is more
2)Delay in starting the actual development
Application:
1)when customer is new to the software
2)when developers are new to the domain
3)when customer is not clear about his own requirement
11
V-model
It is a step-by-step procedure to develop new software. It is also called V and V model
which means Verification and Validation model
Verification:
It is the process of reviewing CRS, SRS, Design and Code, Test Case and related
documents
Validation:
It is the actual testing done after the software is developed. Here we execute the test
cases
Here both the testing and development teams are parallelly involved.
Both the testing team and development team first do the verification process and then
validation process.
Verification is done to prevent the defect.
Once the software is ready, validation is done in order to identify and fix the defects
12
Advantages:
1. Testing starts from the initial stages i.e.; Requirement and Design are tested.
Downward flow of defects is reduced
2. Software quality will be good
Disadvantages:
1. Initial investment is more
2. Documentation is more
Applications:
1. Complex projects and huge projects
2. For long term projects
Software testing
Process of finding the defect in the software is known as software testing
(OR)
Verifying the functionality of an application against requirements specification is called
software testing
13
(OR)
Execution of program with the intent of finding the defects in the software is called
software testing
a) Path testing:
Here developer will write the flowchart & test all the independent path
15
c) Loop testing:
here developers will test the loop and ensure that the logic is repeating for all defined
number of cycles
16
Functionality testing
Component:
Component means that can be link, text field, text area, drop down, button, widget.
Thoroughly:
Testing the component by entering all the possible input is called as thoroughly
A. Over testing:
B. Under testing:
Testing the application with insufficient set of scenarios is called as under testing
Dis-advantages:
By doing over testing we will miss lot of defects
C. Optimized testing:
19
Testing the application only with those scenarios which make sense is called as
optimized testing
Advantages:
1. TE will not miss any scenarios
2. TE will not miss any defects
3. There will be no duplicate
4. Time will not be wasted
5. Quality will be good
Positive testing:
Testing each and every component of an application by entering valid or expected data
which is according to the requirement specification is called as positive testing.
Negative testing:
Testing each and every component of an application by entering invalid or unexpected
data which is according to the requirement specification is called as negative testing
Rules:
Always start testing the application with valid data if the application works for
valid data, then only test for invalid data
If application is not working for the one of the invalid values you can continue for
testing some more invalid value
Test engineer should not assume (or) purpose the requirement if you have any
queries (or) question you should integrate with developer, customer(or) business
analyst and get it clarified.
Integration testing
20
Testing the data flow between two modules is called as integration testing.
Integration scenario:
1)Login as user ‘A’, click on amount transfer, enter FAN as user ‘A’, TAN as user ‘B’
and enter amount as (RS.1000) and click on transfer. Confirmation page should be
displayed. Logout as user ‘A’. login as user ‘B’, click on the amount balance and check
if the proper balance is displayed or not logout as user ‘B’.
Q. How to do integration testing?
1) Understanding the application is very important
a) You should understand each & every module
b) You should also understand how all the module are related
2) Identify all possible scenario
3)Prioritize the identified scenario
4)Document the scenario according to priority
5)Execute scenario
21
Incrementally adding the module & testing the dataflow between the module and make
sure that the module which is added should be the parent of the previous module.
If one module is ready & another module is not ready then how will you do integration
testing?
Stubs: it is a dummy module, it acts like module which is not yet build, it generates the
data & receives the data
Driver: it is one which set up the testing environment and does lot of transaction,
analyse the result & send the output (does the transaction between real module &
stubs)
24
System testing
It is an end-to-end testing where in the test environment is just similar to the
production environment.
End-end testing:
Navigating through all the features and check whether the end feature is working as
expected or not.
OD Flow:
25
Types of environments:
Development environment:
It is the setup which is used for developing the software
(It consists of hardware, software, server, network)
Test environment:
It is the setup which is used for testing the software
(It consists of hardware, software, server, network)
Production environment:
It is the setup which is used for run the business
(It consists of hardware, software, server, network)
When do we do system testing?
Whenever the environment which is just similar to the production environment
Whenever the module is functionally stable (a smaller number of defects)
Whenever bunch of modules are available
26
Terminologies:
Build:
When developers write the code & compile the code to get the binary we get the file
format, that file format we call it as build.
Test cycle:
It is the time spent or the effort spent by the test engineer to start and end the
testing.
Re-spin:
The process of getting a new build within one test cycle is called as Re-spin.
If there are blocker defects, we will get Re-spin.
To install Re-spin, first you should Uninstall old build and install Re-spin.
27
Patch:
Patch is a small software which consists of modified programs, added programs and
removed programs.
Release:
Starting from collecting the requirement, developing the software and testing the
software for so many cycles and releasing the software to the customer we call it as
1-release.
28
29
Acceptance testing
It is an end-to-end testing done by IT engineers, sitting at customer’s place where in
they take out the real time business scenarios & check whether software is capable of
handling it or not.
1. Chances are there under business pressure software company might push
software to the customer with critical bugs, to prevent that they do Acceptance
testing.
2. If they use software with the critical bugs for business they will undergo severe
loss, to avoid that they do acceptance testing.
3. Chances are their development team would misunderstand the requirement &
develop wrong features, to find such features customer will do Acceptance
testing.
Approach 2:
It is an end-to-end testing done by end-users wherein they use software for the business
for a particular period of time and check whether software is capable of handling all
real time business scenarios.
30
Approach 3:
It is an end-to-end testing done by our own TE sitting at customer’s place where in they
refer user scenarios given by the customer and check whether software is capable of
handling all real time business scenarios.
Approach 4:
It is an end-to-end testing done by our own T.E sitting at our own place where in they
refer user scenarios given by the customer and check whether software is capable of
handling all real time business scenarios.
31
Smoke testing
Testing the basic or critical features of an application before going for thorough
testing is called as Smoke Testing.
T.E can find all the blocker defects in the early stage itself.
Developers will get sufficient time to fix the defect.
Test cycle will not get postponed and the release will not be delayed.
32
Points to remember:
Whenever we get a new build from the development team, we should always
start with smoke testing because adding, modifying, removing the features or
fixing the defects might affect basic or critical features, to find that in the
beginning they do smoke testing.
Customer before he does acceptance testing, he should also do smoke testing:
To check whether he has received the complete product or not.
To check whether the product is properly installed and configured.
One who installs the product in the server should do smoke testing to check
whether the product is installed properly or not.
Before they give build to testing team, developers should do smoke testing so
that too many defects are there means they need not give build to testing team.
1. To check whether the product is testable or not. In the beginning if you find too
many defects, it means product is not testable so better stop testing and spend all
time in identifying some more scenarios.
2. Do smoke testing in the beginning itself if you find any blocker defect send it to
the developer in the beginning itself so that developers will have sufficient time to
fix the defect.
3. To check whether we have received broken build by the development team.
4. We do this to check that the product is installed properly or not.
5. It is like a health check of the product.
1. Chances are there when the product is launched end users might use the
application randomly and find defects.
2. To avoid that test engineer should only test the application randomly.
3. If you see the requirement and test the software no. of defects which you are
going to catch more no. of defects.
4. We do this to increase the defect count.
5. We do this to have better test coverage.
6. The intention of doing ad-hoc testing is to somehow break the product.
Login as User, click on compose fill the details for all fields click on send, logout. Click
on the browser back button and check whether the login page should be displayed or
the application should ask to enter UN and PWD.
1. When the product is functionally stable then we should think about ad-hoc
testing.
34
Agile model
35
They came up with this model in order to overcome the drawbacks that were there in
the traditional model.
Scrum process:
Scrum team:
36
Product Backlog:
Sprint Backlog:
*It is a list of stories and the associated task committed by the scrum team that
· Here the entire scrum team sits together and pulls the stories from the product
backlog.
· Scrum master assigns each story to development engineer and test engineer.
· Now each engineer derives the tasks to be completed to build the stories.
· Each engineer will estimate the time taken to complete each task i.e., they derive
the story point.
37
Following are the roles played by different people in Sprint planning meeting:
1. Scrum master:
2. Product owner:
3. Development Engineer:
b. He prioritizes which story to be built first and which story to build later in the
sprint.
4. Test engineer:
Defect tracking
· Here everybody should stand-up in the meeting so that people only talk to the
point.
· Sprint review meeting should be done at the end of the sprint, where the
engineers will give a demo to the product owner.
· They will also discuss how to plan for the next sprint.
RETROSPECTIVE MEETING
· Here the entire scrum team meets and discusses all achievements (good process
followed) and mistakes (wrong activities performed) and it will be documented.
This document is called a Retrospect document.
· When the next sprint starts while doing sprint planning meeting, we refer this
document & we plan it in such a way that old mistakes should not be repeated
and good activities are once again adopted.
BURNDOWN CHART:
STORYBOARD/WHITE BOARD:
It is a board which contains a list of pending tasks, tasks in progress and completed
tasks.
39
In the production if the customer faces any blocker or critical defects it will be
communicated to the company, developers will immediately fix the defect and TE will
retest and patch will be created & it will be installed in the production server.
· Here the entire team sits together and finds the root cause of the defect and
shares it in a common folder where everyone can access it & present it to the
entire team.
40
Compatibility testing
Testing the functionality of the application in different hardware and software
environments is called as Compatibility testing.
1)Chances are their developer might develop the software in one platform and TE
would test the software in same platform and when it is released to the production end-
users might use the application in different platform, software which works in one
platform, but might not work in another platform because of some defects, due to this
end-user’s usage will go down & customer will undergo a huge loss, to avoid that all
this we do compatibility testing
2)To check whether the application is working consistently in all the platforms we do
compatibility testing
42
3)DE might write common code & claim that application works in all the platform or
else DE might write platform specific code & say that it is works in all respective
platforms
We have to test it in every platform & confirm that it really works or not
when the product is functionally stable in the base platform only, we think about
testing the application in different platform
3)Browser stack
4)Virtualization
IOS: Simulator
Performance testing
Testing the stability and response time of an application by applying a load on it
is called as performance testing.
Response time:
Time taken to send the request time taken to execute the program & the time
taken to receive the response
T=T1+T2+T3
Load:
Stability:
a) J-meter
b) Neo load
c) Load runner
1)Load testing
2)Stress testing
3)volume testing
4)Soak testing
46
A) Load testing: Testing the Stability & response time of an application by applying
the load which is less than or equal to designed number of users
B) Stress testing: Testing the Stability & response time of an application by applying
the load which is more than designed number of users
D) Soak testing: Testing the Stability & response time of an application by applying
load continuously for a particular period of time
48
Globalization testing
Developing software for multiple languages is called as Globalization.
Testing software which is developed for multiple languages is called Globalization testing.
1) Internationalization testing(I18N)
2) Localization testing(L10N)
I18N testing:
c) Open the application & select the language Chinese corresponding page comes
d) I will check for prefix, if prefix is correct means content is in right language
e) I will check for suffix, if suffix is correct means content is in right place
49
Localization testing:
testing the application to check whether application is developed according to the country
standard or country culture or not is called localization testing(L10N)
Usability testing
Testing the user friendliness of an application is called as usability testing.
50
2) I will check whether the application is easy to understand or not or the application
should take less time to perform specific action or not
3) Important or frequently used feature must be taken to the user within 3 clicks
4) Important or frequently used feature used features shouted be present either at the
left
3)Any application where end users won’t be provided any kind of training
2)Certain project we do usability testing in the beginning of the SDLC itself. (Prototype
model)
Storage full
Comparison testing
Testing the newly build application with the similar kind of application which released in
the market, here we compare the application, check the advantages and dis-advantages
and check whether all the features are present in our newly build application or not is
called as comparison testing.
Accessibility testing
Testing the user friendliness of an application from physically challenged people point of
view.
Reliabili
ty testing
Testing the functionality of an application continuously for a particular period of time is
52
Recovery testing
Testing the functionality of an application to check well the application recovers the data
from the crash or disasters.
Exploratory Testing
Understand the application, identify the scenarios, document the scenarios and test the
application by referring the document is called as Exploratory testing.
Or
Explore the application, understand how each and every feature works and test the
application based on your understanding is called as Exploratory testing.
-In long term projects, when it’s a very big/huge/complex application, the requirement
for some modules might be missing.
-In product-based companies, since we don’t have customer, we won’t have proper
requirement document.
-In start-ups, if the company is very new, they might not maintain requirement document
properly.
-Sometimes even if the requirement (SRS) is present, we don’t have sufficient time to
read and understand the requirement.
1) Time Consuming
2) We might miss testing some features in turn we might miss the defects.
Regression testing
Testing the unchanged features to make sure that is not affected or broken because of
changes is called as Regression testing (here changes can be addition, modification,
removal of features or fixing the defect)
OR
(As a TE in-depth I will be knowing how each & every module works & also I will
be knowing how all the modules are related based on that knowledge, I will be able
to identify impacted areas)
56
(Here we list the changes & also all the features in the application, then mark the
impacted areas)
(As soon as the new build comes entire testing team meets & discuss about list of
bugs fixed & the impacted areas)
team we should gather the impacted areas & create an impact list based on that we
should do Regression testing
1)By not testing certain features we are saving testing time which intern
1)Whenever too many changes are done in the product better to do full
regression testing
3)Every few (4-5) cycles once we should do full regression testing & last few cycles, we
should do full regression testing because we are about to launch the product to the
production to not to take any risk
58
Interview Question
Difference between Regression Testing and Re-testing
Regression Testing is done for Passed test Retesting is done for failed Test cases
cases
Progression testing:
2) As the size of the application increases test cycle duration also increases because
of that turnaround time taken to deliver the product to the customer increases
3. Convert the manual test cases into automation test scripts (manual test cases of the stable
features)
b) When the test cases changes, we should change the automation scripts
3. To reduce the turnaround time taken to deliver the product to the customer.
DEFECT
What is defect?
Any feature which is not working according to the requirement specification is called as
Defect.
OR
Deviation from requirement specification is called as Defect.
2. Missing Implementation
3. Extra Implementation
Error: Error is a mistake done in the program because of which we will not be able to
compile the code or Run the code.
There are 2 types of error: i) Compile time error
ii) Run time error
Defect: Any feature which is not working according to the requirement is called as
Defect.
OR
Error found in the application or S/W is called as defect.
Bug: It is an informal name given to defect.
Failure: Many defects in the s/w leads to failure. It is the term which is used by
customer or end user.
TEST ENGINEER:
1. Test engineer finds the defects
2. Prepare defects report
3. He will put the status as new/open
4. Send the report to development lead
DEVELOPMENT LEAD:
1. DL reads the report & understand the problem
2. Identifies the developer who did the mistake
3. Change the status to assign
4. Sends it development engineer
64
DEVELOPMENT ENGINEER:
1. DE reads the report & understand the problem
2. Goes the source code & fix the bug
3. Change the status to fixed
4. Send the report to test engineer & CC to development lead
TEST ENGINEER:
1. TE reads the report & understand the problem fixed
2. Retest the fix bug, if the bug is fixed change the status to closed
3. Otherwise change the status to reopen
4. Send the report to development engineer & also CC to development lead
Why test engineer should not wait for the permission of test lead for sending report
to development?
There will be delay in communication report to developer
As a test engineer will be having knowledge in depth about his feature, so better
take a decision and send report directly to development lead without the
permission of test lead
Why we should keep CC for every report to test lead?
Test Lead is the one who attends managements developers and customer meeting,
so he should be aware of all the issue that are present in the product
To get visibility that test engineer is working
As soon as you find defect immediately you have communicated defect to developer
why?
Developers will get sufficient time to find the defect
Someone else might send your defect
Chances are their TE might forget the defect
Severity:
It is the impact of the defect on customer business
1. Blocker defect
2. Critical defect
3. Major defect
4. Minor defect
Blocker:
Assume that there is a defect in the software, I am 100% sure that this defect is going
to affect customer business work flow and also blocking test engineer to test the
feature, this kind of defect is called as blocker defect.
65
Critical defect:
Assume that there is defect in the application, I am 100% sure that this defect will
affect customer’s business work flow, but not blocking Test Engineer to test the
feature still we can continue testing. This type of defects is called as Critical defect.
Major Defect:
Assume that there is a defect in the application, I am not sure that how this defect is
going to affect customer business work flow, this type of defects is called Major
Defect.
66
Minor Defect:
Assume that there is defect in the application, I am 100% sure that this defect will
never affect customer business work flow, this type of Defect is called Minor defect.
Example: Spelling mistake, colour mistake, overlapping issue, alignment issue etc.
PRIORITY:
Importance given to fix the defect is called as priority
OR
67
ii. Assume that old TE has found lot of defects and communicated to developer, in
that some defects are fixed and some are pending. If new TE joins same project
and communicate old defects then developers say this new defect are duplicate of
Old defects.
71
ii. If the cost of fixing the defect is more than cost of defect then developer says
Defect cannot be fixed.
Here the cost of defect means loss in the business because of having defect in
the software.
ii. TE finds a defect in a feature which is not required to customer in Current release,
then developer will give Postpone status.
73
iii. If TE finds a defect in a feature where customer wants to do lot of changes in the
requirement (same feature) and even customer might remove feature as well. In
this case developer will give Postpone status.
iv. TE finds a defect in the feature which is exposed to internal users and if it is a
major or minor defect then developer will give the postpone status.
74
Defect Report
Test case
Test case is a document that covers all possible scenarios for a specific requirement.
It contains different sections like step no., input, action or description, expected result,
actual result, status, and comments.
What will happen if you look into requirements and test the software?
Or
What are the drawbacks of not writing test cases?
There will be no consistency in testing if you look into requirements and test the
software.
The test engineer will miss lot of scenarios and defects.
Quality of testing varies from person to person if you look into requirements and
test the s/w.
Testing depends on the memory power of the test engineer.
Chances are there we might end up in testing the same things again and again if
you look into requirement.
Test coverage will not be good.
Testing depends on the mood of the T.E.
When do we write test case?
1. When developers are busy in building the product, the testing team will be busy
writing the test cases.
2. When the customer is adding the requirement developers will add the features
parallelly test engineers will add new test cases.
78
4. When the customer is removing the requirement, developers will remove the
feature, and parallelly test engineer will remove the test cases to make sure that
features are removed from the s/w or not
1. Error Guessing:
Here we guess all possible errors and we derive the scenarios.
We guess errors based on the following:
A. Requirement
B. Experience
C. Intuition
Ex: Amount
100
5001
99
4999
100.50
80
100%
$100
0
100 Rs only
Valid->500
Invalid-> 90
6000
Ex: Insurance
Age 5-55
Valid-> 30
Invalid->4
60
Rule 2: If the input is in a set of values, then design test case for one valid and two
invalid inputs.
Ex:
Printer- 10
Scanner- 20 Set of values
81
Webcam- 30
Valid-> 30
Invalid-> 25
40
Ex:
Rule 3: If the input is in Boolean, then design the test case for both true and false values.
Ex: Whenever we are testing for checkbox or radio buttons you should test the
application for both true and false values.
Practice Method:
If the input is in range of values, then divide the range into equivalent parts, try for all
the values and also test for at least two invalid values.
Ex: Amount 100-5000
1000
2000
3000
4000
5000
Note:
1. If there is a deviation between the range of values then we go got the practice
method.
2. If there is no deviation between the range of values then we go for Pressman rules.
3. By looking into requirements, we will get to know whether there is a deviation or
82
not.
100 5000
101 5001
99 999
scenarios.
By looking into test scenarios, we We can test any application by
can’t test any application until you looking at the test case, no matter
have good product knowledge. if you have product knowledge or
not.
Here we mention what to test. Here we mention how to test.
Every TE should write the review comments in the test case review template only.
Test case review template will be prepared either in the Test management tool or
MS Word/MS Excel.
Test case review template is not standard, it may vary from Company to company
and project to project.
Traceability Matrix:
85
It is a document that we prepare to make sure that every requirement has got at least
one test case.
Advantages:
1. It ensures that every requirement has got at least one test cases, which indirectly
assures that you have tested every feature at least once.
2. It gives us Traceability from High level requirement till automation script.
Drawback:
It will not ensure that you have got 100% coverage.
Types of traceability Matrix:
There are 3 types of traceability Matrix. They are:
1. Forward Traceability Matrix:
Mapping from the root document to derived document is called forward
traceability matrix.
Ex: Mapping from Req to test case and test case to test script
2. Backward Traceability Matrix:
Mapping from derived document to root document is called as Backward
Traceability Matrix.
Ex: Mapping from test scripts to test cases and test cases to requirement.
2. Requirement Number:
BA when he converts CRS to SRS, in SRS for each requirement he will write the
requirement no.
Ex: 30.1 Amount Transfer
30.1.1 FAN text field
30.1.2 TAN text field
30.1.3 Amount text field
3. Test data:
It is the data written by a TE and has to be done before the test execution.
Ex: TE should have UN, PWD, URL, a/c number
4. Pre-condition:
88
6. Severity:
TE will give severity for every individual test case, based on how important and
complex the feature is from customer’s POV.
TE will execute test case based on severity.
There are 3 types of severity for Test cases: Critical, major, minor
7. Brief Description:
It describes about the complete test case and the behavior of the test case.
Ex: In the amount transfer module, it should accept only +ve integers.
System study:
Read the requirement, understand the requirement, and if you have any queries interact
with the customer, B.A.
Identify all possible scenarios:
i. Identify
ii. Brainstorming sessions:
Write the test cases:
Group all related scenarios.
Prioritize the scenarios within each group.
Apply test case design technique.
Use the test case format given to you.
Document it.
Test Plan
It is a document which drives all the future testing activities. Generally, it is prepared by
test lead or test manager. It has got several sections like:
1. Objective
1. Effort estimation
2. Scope
3. Approach
4. Assumption
5. Risk
6. Mitigation plan/Backup plan
7. Test Methodology
8. Test schedule
9. Test environment
10. Defect tracking
11. Test automation
12. Deliverables
13. Entry & exit criteria
14. Test stop criteria
15. Roles & responsibilities
16. Templates
1) Objective:
2) Effort estimation:
This section covers estimation of how long it will take to complete the project & also we
estimate how many engineers are needed & the cost needed to complete the task and the
cost of testing.
1) Scope:
This section covers what are the features to be tested and what are the features not to be
tested.
2) Approach:
This section covers how we are going to test the product in future.
3) Assumption:
91
4) Risk:
This section covers how to overcome (or) how to face the risk.
6) Test methodology:
This section covers what are the types of testing that we are planning to conduct.
7) Test Schedule:
This section covers when exactly we should start and end and activity.
8) Test Environment:
This section covers how we go about setting up the test environment in future (or) how
we setup the environment in future.
------------
------------
12.2 Hardware
HP startcat 1500
1 GB RAM
12.3 Software
Chrome
9) Defect Tracking:
This section covers in future when we find defects how it should be tracked and also
covers the procedure, status, severity and priority.
a) Procedure
b) Status
c) Severity
d) Priority
This section covers what are the features to be automated & what are the features not to
be automated & the complete automation strategy.
---------
---------
-------
------
---------
93
---------
Selenium
-----------
11) Deliverables:
This section covers which all documents that has to be provided by the testing team at
the end of test cycle.
Ex: Test cases, Traceability matrix, test execution report, defect report, release note,
graphs & matrices.
Release Note: Along with the product, we release a note to the customer called as
release note.
· List of bugs that are found in the previous release and fixed in the current
release.
Graphs:
Matrices:
Entry criteria:
This section covers list of criteria that should be met to start the activity.
Exit criteria:
This section covers list of criteria that should be met to say that activity is
over.
96
· Should have assigned someone to prepare test plan & review the test
plan.
è We stop testing when the product quality is very good or product quality is
97
very bad.
ü There are few bugs left out which are all minor or major but are less
than the acceptable limit set by the customer.
û Product quality is bad means there are too many blocker & critical bugs.
This section covers what each engineer should do in different stages of test life
cycle.
· Allocate work to each engineer and make sure that they are going to
work and complete the task within the schedule.
4) Templates:
This section covers formats for all the documents that we are planning to prepare
in the entire test life cycle.
STLC
1. System study:
Read the requirement, understand the requirement if you have any queries, interact
with BA, developers or customer.
99
Test plan is a document which drives all the future testing activities.
-What are the features that are to be tested and not to be tested.
System study, identify all possible scenarios, write test case, review test case, fix
the review comments, verify the fix, test case approval, store in repository.
We prepare traceability matrix to ensure that each and every requirement has got
at least one test case.
5. Test Execution:
This is the stage where we execute all the test cases.
This is where we conduct all types of testing and find the bug.
This is the stage where Test engineers become productive to the organization.
6. Defect tracking:
Once after test execution, obviously we are going to find the defects.
Each defect that we find should be tracked in an organized way. This is called as
Defect tracking.
It is a document which we prepare and provide to the customer at the end of every
test cycle.
We will prepare this document and send it to the customer. From customer’s POV
this is the stage. But from company’s POV we have one more activity called as
Retrospective meeting.
In the next release/sprint they open this document in the planning stage and plan in
such a way that all the achievements are adopted and all the mistakes are avoided.
Topics:
A. WATERFALL MODEL
REQUIREMENT COLLECTION
WHO IS INVOLVED?
WHO CAN BECOME BA?
HOW TO CONVERT CRS TO SRS?
FEASIBILITY STUDY
WHO ARE ALL INVOLVED?
DESIGN
HLD( house construction story, 3tier architecture)
LLD(house construction story,GMAIL example)
CODING
TESTING
WHAT HAPPENS IF DEVELOPERS ARE INVOLVED IN TESTING?
INSTALLATION,TV STORY,WHO ARE ALL INVOLVED?
MAINTENANCE
ADVANTAGES, DISADVANTAGES & APPLICATIONS
B. SPIRAL MODEL
EXAMPLE FOR DEPENDENCY(MS EXCEL)
WHEN TO GO FOR SPIRAL MODEL?
WHAT IS SPIRAL MODEL(DEFINITION AND WORKING)
HOW TO HANDLE REQ CHANGES
MAJOR CHANGES
MINOR CHANGES
ADVANTAGES,DISADVANTAGES
APPLICATION?
102
C. V AND V MODEL
D. PROTOTYPE MODEL
CHAPTER 2
SOFTWARE TESTING
Definition of WBT
Types of WBT
PATH TESTING
Definition
Flow graph
103
CONDITION TESTING
Definition
Program outlook example for condition testing
LOOP TESTING
Definition
Program outlook example for loop testing
WHITE BOX TESTING FROM MEMORY POINT OF VIEW
Typical mistakes done by developers because of which size of code
increases.
A) FUNCTIONALITY TESTING
ALTERNATIVES NAMES
DEFINITION
EXAMPLE OF ADD USER PAGE
ASSIGNMENT OF MORE COMPONENTS AND THERE INPUTS
DIFFERENT FORMATS OF REQUIREMENT
WHY WE SHOULD NUMBER THE REQUIREMENT
RULES OR LESSON
WAYS OF THE FUNCTIONALITY TESTING
TWO TYPES OF THE FUNCTIONALITY TESTING
SCENARIOS
REAL TIME EXAMPLE
B) INTEGRATION TESTING
DEFINITION OF INTEGRATION TESTING
104
D) SYSTEM TESTING
DEFINITION OF SYSTEM TESTING
EXAMPLE OF (A TO Z MODULE)
STORY FOR THE OD REQUIREMENT
OD FLOW EXAMPLE ( WITH DIAGRAM )
SCENARIOS ON OD FLOW
TYPES OF ENVIRONMENT
WHY TESTING ENVIRONMENT SHOULD BE SIMILAR TO THE
PRODUCTION ENVIRONMENT
TERMINOLOGIES
WHO WILL BE INVOLVED IN THE INSTALLATION
ROLES OF RELEASE ENGINEER
VCT , MAVENS , JENKINS TOOLS
SYSTEM TESTING IN DIFFERENT TYPES OF APPLICATIONS
d) ACCEPTANCE TESTING
EXAMPLE OF THE PEN
DEFINITION (WITH DIAGRAM EXPLANATION FIRST )
WHY WE DO ACCEPTANCE TESTING
ALL 4 APPROACH (WITH DIAGRAM , EXPLANATION FIRST)
E) SMOKE TESTING
ALTERNATIVE NAMES
EXAMPLES OF BUILD
DEFINITION
HOW TO DO SMOKE TESTING
105
(EXAMPLE OF GMAIL )
ASSIGNMENT FOR STUDENTS
NOTE ABOUT SMOKE TESTING
WHEN WE WILL DO SMOKE TESTING
DIFFERENCE BETWEEN SMOKE TESTING AND SANITY TESTING
EXPLANATION FOR ALTERNATIVE NAMES
ADHOC TESTING
EXAMPLE OF THE MOBILE AND THE APPLICATION
DEFINITION OF THE ADHOC TESTING
WHY WE DO ADHOC TESTING
HOW TO DO ADHOC TESTING (EXAMPLE AND SCENARIO )
WHEN WE WILL DO ADHOC TESTING
SCENARIO ON 5 APPLICATION
GIVE ASSIGNMENT FOR 5 APPLICATION
AGILE MODEL
USABILITY TESTING :
ALTERNATIVE NAMES
EXAMPLE OF GMAIL AND YAHOO
DEFINITION OF USABILITY TESTING
WHAT KIND OF APPLICATION WE CAN DO USABILITY TESTING
HOW TO DO USABILITY TESTING
(EX: FOR UI (LOOK) AND FEEL (UX) )
PRACTICAL EXAMPLE OF ANY TWO APPLICATION
USABILITY DEFECTS
COMPATIBILITY TESTING
GLOBALIZATION TESTING
PERFORMANCE TESTING
DEFINITION
(DEFINITION OF STABILITY , LOAD , RESPONSE TIME WITH
DIAGRAM )
NOTE
TOOLS
HOW TO DO PERFORMANCE TESTING
(EX: JMETER ) EXPLANATION
TYPES OF PERFORMANCE TESTING
EXPLORATORY TESTING
EXAMPLE ; REALTIME EXAMPLE , AT NEW OR IN FOREST YOU
LOST YOURSELF
DEFINITION 1
DEFINITION 2
WHEN WE WILL DO EXPLORATORY TESTING
DRAWBACKS OF EXPLORATORY TESTING
HOW TO OVERCOME THE DRAWBACKS OF EXPLORATORY
TESTING .
REGRESSION TESTING