Professional Documents
Culture Documents
Product Testing
Product Testing
Product Testing
DEPARTMENT OF MATHEMATICS
BIRLA INSTITUTE OF TECHNOLOGY MESRA,
RANCHI - 835215. (INDIA)
1|Page
Declaration
I certify that
a. The work contained in the thesis is original and has been done by myself under the general
supervision of my supervisor(s).
b. The work has not been submitted to any other Institute for any degree or diploma.
c. I have followed the guidelines provided by the Institute in writing the thesis.
d. I have conformed to the norms and guidelines given in the Ethical Code of Conduct of the
Institute
e. Whenever I have used materials (data, theoretical analysis, and text) from other sources, I have
given due credit to them by citing them in the text of the thesis and giving their details in the
references.
f. Whenever I have quoted written materials from other sources, I have put them under quotation
marks and given due credit to the sources by citing them and giving required details in the
references.
2|Page
APPROVAL OF THE GUIDE(S)
Certificate
This is to certify that the contents of the thesis entitled “Product Testing” is a
bonafide work carried out by Neha Archy (Roll No.: IMH/10026/17) under my/our
supervision and guidance in fulfillment of the requirements for the degree of
Integrated Masters of Science in Mathematics and Computing.
The contents of the thesis have not been submitted earlier for the award of any
other degree or certificates and we hereby commend the work done by him in this
connection
3|Page
DEPARTMENT OF MATHEMATICS
BIRLA INSTITUTE OF TECHNOLOGY MESRA, RANCHI-835215
This is to certify that the work embodied in this thesis entitled “Product Testing "
carried out by Neha Archy (Roll No. IMH/10026/2017) is approved for the degree
of Integrated Master of Science in Mathematics and Computing of Birla Institute
of Technology, Mesra, Ranchi.
Date:
Place:
4|Page
ACKNOWLEDGEMENT
I would like to thank all the faculties of the Department, staff members,
friends, and family members, especially my parents who always picked me up on
time and encouraged me to progress each day.
Thank you
5|Page
ABSTRACT
Since the use of computers amplified the importance of software testing that has gained more
innovations made software developers to respond to each emerging technology quicker; thus it
negatively impacted software quality. Software quality has a directly connected with software
testing, therefore testing is an very tectonic part of the software development life cycle. From
1979 to 2012, there was significant decrease in expenditure of software testing, but from 2013
to 2016 the numbers are quite the opposite. However, this stabilization period may depend on
various factors, including the size and the complexity of the software development projects,
labor costs. Software testing is a discipline which is not very hard or tough to execute. However,
it may be costly and demanding in human effort or in technology which multiplies it . Software
testing is often considered as low-level task. Inspite of these baseless assumptions, it is a very
important part of software development process determining the efficacy of final output that is
inclined to have serious error. As a matter of fact, software testing faces a set of challenges with
the complexities of software growth. Spotting of the right domain that has to be tested, the lack
of skills in the areas of intelligence-driven testing strategies and newer test automation skills,
tight control of budgets, selection of the right testing techniques, types etc. Therefore, ensuring
that software behaves according to the desired levels of quality and dependability becomes more
NOTE- As I’ve signed Non-Disclosure Agreement (NDA) with Wipro, therefore I will not be
revealing any confidential data, code and information outside the organization
6|Page
TABLE OF CONTENTS
1)Abstract…………………………………………………………………………………. 6
2)About the company……………………………………………………………………… 9
3)Chapter 1:Software Testing………………………………………………………………10
1.1 What is software testing………………………………………………………………..10
1.2Why to test………………………………………………………………………………11
1.3What is defect……………………………………………………………………………12
1.4What is quality……………………………………………………………………………12
1.5 Principles of testing…………………………………………………………………..13-14
4) Chapter 2 : Level of testing……………………………………………………………….15
5) Chapter3 : Classification of testing…………………………………...…………………..16
3.1 Types of functional testing………………………………………………………………17
3.2 Types of non-functional testing………………………………………………………….17
3.1 (a)Smoke Testing………………………………………………………………………...18
3.1(b)Positive testing………………………………………………………………………...18
3.1(c) Negative testing………………………………………………………………………18
3.1(d)Regression testing……………………………………………………………………..18
3.2 (a) Security testing……………………………………………………………………….19
3.2(b) Performance testing…………………………………………………………………...19
3.2(c) Compatibility testing………………………………………………………………….20
3.2(d) Localization testing…………………………………………………………………...20
3.2(e) Installation testing…………………………………………………………………….20
3.2(f) Internationalization testing……………………………………………………………………21
3.2(g) Portability testing……………………………………………………………………..21
6)Chapter 4:Software Development Life Cycle……………………………………………….22
4.1Phases of SDLC………………………………………………………………………...23-24
7)Chapter 5: Software Testing Life Cycle……………………………………………………...25
5.1Phases of STLC…………………………………………………………………………26-27
7|Page
TABLE OF CONTENTS
8|Page
About the company
Wipro Limited is an Indian multinational corporation that provides information
technology, consulting and business process services company. Wipro controls the power of
help their clients to get adapted in this digital world and make them successful. A company
employees serving clients across six continents. Wipro discover ideas and connects the dots to
build a better and great future. The Spirit of Wipro is the key of Wipro as these are wipro
values. It defines their character. Wipro aims to help their clients to maximize the value of their
businesses and make Wipro an employer of choice that attracts, develops, and retains a
productive and diverse talent base of 230,000+ employees representing 134 nationalities across
67 countries.
9|Page
Chapter 1: Software Testing
1.1 What is software testing
Software testing is a process that evaluates the functions of a software application with an aim
to find whether the developed software meets the specific requirements which ensures that the
product is error-free in order to produce a good quality product. It is used to identify the
correctness and quality of developed computer software. Testing is the step that is followed
before the launch of the product in the market. It includes examination, analysis, observation
evaluation, etc of different aspects of a product. Testing includes an examination of code in a
detailed manner and also the execution of code in various environments so that defects can be
known easily.
Software testing is a concept that comes in different variations, which can be classified further on
basis of the level of testing and can also be classified as functional and non-functional testing.
Testing involves an examination of code and also the execution of code in many environments.
In the existing scenario of software development, a testing team can be separate from the
development team so that information derived from testing can be used to correct the process of
the software development team. The success of developed software completely depends upon the
audience who is targeted.
10 | P a g e
1.2 WHY TO TEST
Software testing provides a way of measuring the quality of the software and determining
whether
it fulfills the requirements and how well it works before it is installed in a live operation.
Software
testing has to be carried out because it gives the effective performance of the software
application. The role of testing in software development is significant the procedure helps
software teams in
verifying the functional and non-functional features and requirements of projects. The cost of
removing bugs is less if bugs or errors are detected at early stages than in comparison to later
stages of development .
The quality of the product very well speaks for itself and users can identify the quality and
experience. Not only can testing involves greater engagement from users, but if software found
in the market that has reduced performance or does not perform well, then reputation goes down
in the market. Users are not going to trust such software. There are chances that the reputation of
the organization is going to suffer a downfall. In accordance with experts, it is not very
important. But however, if in case, any software is introduced in the market without performing
software testing and if the performance of the software does not meet the expectation of the
clients, convincing people will be a big deal.
11 | P a g e
1.3 What is a defect
Deviation from requirement and software is doing what it should not do is
termed as a defect. When the actual result gets deviated from the expected outcome
Test the application -> defect found -> Defect fixed by developer -> % Defect
12 | P a g e
1.5 Principles of testing
1.5.1)Testing shows the presence of defects
• Software testing reduces the presence of defects.
• Software testing talks about the presence of defects and does not talk
about the absence of defect.
• Even multiple testing can never ensure that software is 100 percent bug
free.
13 | P a g e
1.5.4) Defect clustering
•It states that 80 % of the defects emerges from 20% modules. Defects are not
functionalities.
99% bug free but it should also fulfill all the customer requirements.
14 | P a g e
Chapter 2: Level of testing
• Unit testing - Unit testing is a part of software development process in which
testing is to check that all the individual parts are working properly.
where individual units are integrated and then tested to verify if they
• System testing- System Testing means testing the system in a whole way. All the
System Testing is executed after Integration Testing. This plays an important role in giving a
• Acceptance testing- Acceptance testing final level of testing which is performed by client
to determine whether or not the software system has met the required target.
15 | P a g e
Chapter3: Classification of testing
a) Functional testing
b) Non-Functional testing
16 | P a g e
An example of a non-functional test is to see how many users could sign
a) Smoke testing
b) Positive testing
c) Negative testing
d) Regression testing
a) Security testing
b) Performance testing
c) Compatibility testing
d) Localization testing
e) Installation testing
17 | P a g e
f) Internationalization testing
g) Portability testing
3.1(b)Positive testing
Positive testing is a process of testing where the system or an application
is tested against the valid input data that is software is tested by entering
valid values.
3.1(c)Negative testing
Negative testing is a process of testing where the system or an
application is tested against the invalid input data that is software is
tested by entering invalid values.
18 | P a g e
functions. For example, the code changes can include adding
new features, fixing bugs, or updating a existing features.
3.2(a)Security testing
Security testing is an non-functional testing that is an important part of
software testing which is used to find the weaknesses, risks, and threats in
the software application and also help us to stop the attack from the
perform security testing, then it helps us to identify all the possible security
threats that can take place and also helps the programmer to fix those
errors.
3.2(b)Performance testing
Performance Testing is a process which examines the quality and
conditions. Performance testing is also known as Perf Testing. It mainly check response
19 | P a g e
3.2(c) Compatibiliity Testing
It is a type of non-functional testing which aims at checking compatibility
testing.
has capability to be used in that specific region, it focuses at a small number of users.
20 | P a g e
successfully installed as per required and is working as expected after installation
works successfully and uniformly across multiple regions and cultures. Users are targeted
globally.
Windows 8.
21 | P a g e
Chapter 4: Software development life cycle
Software Development Life Cycle (SDLC) is a process that defines the steps involved in the
development of software. It covers the detailed plan for building, deploying and maintaining the
22 | P a g e
software.Software Development Life Cycle (SDLC) is a process used by the software industry to
design, develop and test good quality software. The SDLC tries to produce top quality software
that meets or exceeds customer expectations, reaches completion within time.
a)Planning
The planning stage is a phase in which developers will plan for
b)Analysis
The analysis phase is where analyze each requirement that is what
c)Design
It is a part of SDLC that involves the architecture of software products. This is
23 | P a g e
the logical designing of the system is converted into physical design.
d) Development
In this stage of SDLC, the actual development of software starts and the
being developed.
e) Testing
The testing phase of the software development lifecycle (SDLC) is which is
track out whether the code written and programming work according to
customer requirements
f) Deployment
This is last phase in sdlc which deals with delivery of the software product to client .
24 | P a g e
Chapter 5: Software Testing Life Cycle
The process of software testing is also known as STLC (Software Testing Life Cycle) which
includes phases in the testing process. This process is executed in a very planned and structured
25 | P a g e
manner. All these activities are done to improve the quality of the software product. The
Software Testing Life Cycle (STLC) is a sequence of specific actions performed during the
testing process to make sure that the software quality objectives are met totally.
a)Requirement Analysis
Requirement Analysis is the first stage in the Software Testing Life Cycle.
b)Test Planning
A test plan describes the aim that will be used to test an software application, the
resources that will be needed, the test environment in which testing will be
take place, and the limitations of the testing and the schedule of the testing activities.
over. In this phase, testing team notes the detailed test cases. Testing team
26 | P a g e
also prepare the required test cases to perform testing . When the test cases are
d)Environment Setup
A testing environment is a platform of software and hardware for the testing teams
to execute test cases. In simple words, it supports test execution with hardware,
e) Test Execution
Process of execution of code and comparing the actual and expected outcome.
f) Test Closure
It is the last phase of the software testing life cycle in which document is prepared which
gives a summary of all the test that was executed. Basically, it is a detailed analysis of the error
27 | P a g e
Chapter 6: Defect Management Life Cycle
Bug life cycle which is known as defect life cycle is a process in which defect goes through
different stages in its entire life. This lifecycle gets initiated as soon as a error is reported by the
tester and ends when a tester ensures that the issue is fixed and won't occur again
28 | P a g e
.
NEW PHASE-When a new defect is logged and posted for the first time. It is
OPEN PHASE-The developer starts analyzing and works on the defect fix
FIXED PHASE- When a developer makes a necessary code change and verifies
RE-TEST PHASE-Once the defect is fixed the developer gives a particular code
for retesting the code to the tester to ensure that software is bug or error free.
RE-OPEN PHASE-If the bug persists even after the developer has fixed the bug, the
tester changes the status to “reopened”. Once again the bug goes through the
life cycle.
CLOSED PHASE- When a defect does not exist and is tested and verified properly then it ends at
a closed state
29 | P a g e
Chapter 7: What is a test case in software testing
The test case is defined as a set of conditions under which a tester decides whether
that is a bug is found then attempts are made to make the software application bug free.
30 | P a g e
Fig 7.1: Characteristics of test cases
Software testing will never get outdated in coming future, In near future, most of
the companies will move to Automation and hire testers with multiple skills and
Humans in testing can only be replaced if in the future if a very robust AI application a can
To test software, a tester is anticipated to know the software that is to be tested and the
tools
required to test it. To gain great testing skills, one needs to be very organized, hard working
companies
finally, every expert believes that future of emerging software testing domain is very
positive,
31 | P a g e
.
32 | P a g e
Conclusion
The goal of this thesis is to include the information about testing concepts carried out in
software development process. Software quality depends upon testing of softwares. One aim of
software testing is be to find as many failures as possible so that the errors can be identified and
requirements as well as user requirements. Once the delivery is made to the end-users they
should be able to use it without facing any problems. In order to achieve this target the tester
should know that how the customers are going to take the benefit of the software application and
they should write down the test scenarios as well as design the test cases.in accordance This
33 | P a g e
LIST OF FIGURES
34 | P a g e
References
1) Wipro https://talentnext.wipro.com/PBLApp
2)Wipro, https://www.wipro.com/
3) https://www.geeksforgeeks.org/
35 | P a g e