Basics of Software Testing
Basics of Software Testing
Software Quality:-
Quality software is reasonably bug or defect free, delivered on time and within
budget, meets requirements and/or expectations, and is maintainable.
Consistency
Mr.G.K.Biranagaddi Page 1
Software Testing 2019
Testing is the process of evaluating a system or its component(s) with the intent to
find whether it satisfies the specified requirements or not. In simple words, testing
is executing a system in order to identify any gaps, errors, or missing requirements
in contrary to the actual requirements.
Meets the business and technical requirements that guided its design
and development;
Works as expected; and
Can be implemented with the same characteristics.
Mr.G.K.Biranagaddi Page 2
Software Testing 2019
Testers need to identify the critical issues with the system as soon as possible and
make sure that the information supplied is sufficient to reproduce the issue. We
need to supply the information on the presence of bugs in the system to the stake
holders. The information should help the stake holders to take informed decisions.
Identify the different end users of the system and their interaction with the
same.
Capture the important scenarios for each end user. It’s good to note that we
need to capture the story around the scenario and not just steps.
Talk to different stake holders including the customers (incase if you have
access) on how the feature might be used & capture the scenarios.
Plan towards uncovering the critical issues of the system as early as possible.
Testing Terminology:-
Failure:-
“Some failure to deliver the expected service that is observable to the user.”
Mr.G.K.Biranagaddi Page 3
Software Testing 2019
Error: - where the system state is incorrect but may not have been observed.
“A human action that produces an incorrect result.”
Finding defects which may get created by the programmer while developing
the software.
To prevent defects.
To make sure that the end result meets the business and user requirements.
Mr.G.K.Biranagaddi Page 4
Software Testing 2019
While determining the coverage the test cases should be designed well with
maximum possibilities of finding the errors or bugs. The test cases should be very
effective. This objective can be measured by the number of defects reported per
test cases. Higher the number of the defects reported the more effective are the test
cases.
Once the delivery is made to the end users or the customers they should be able
to operate it without any complaints. In order to make this happen the tester should
know as how the customers are going to use this product and accordingly they
should write down the test scenarios and design the test cases. This will help a lot
in fulfilling all the customer’s requirements.
Software testing makes sure that the testing is being done properly and hence
the system is ready for use. Good coverage means that the testing has been done to
cover the various areas like functionality of the application, compatibility of the
application with the OS, hardware and different types of browsers, performance
testing to test the performance of the application and load testing to make sure that
the system is reliable and should not crash or there should not be any blocking
issues. It also determines that the application can be deployed easily to the machine
and without any resistance. Hence the application is easy to install, learn and use.
Test Case:-
A test case is a document, which has a set of test data, preconditions, expected
results and post conditions, developed for a particular test scenario in order to
verify compliance against a specific requirement.
Test Case acts as the starting point for the test execution, and after applying
a set of input values; the application has a definitive outcome and leaves the
system at some end point or also known as execution post condition.
Test Case ID
Mr.G.K.Biranagaddi Page 5
Software Testing 2019
Test Scenario
Test Steps
Prerequisite
Test Data
Expected Result
Test Parameters
Actual Result
Environment Information
Comments
Mr.G.K.Biranagaddi Page 6
Software Testing 2019
Testing Deadlines
Completion of test case execution
Completion of functional and code coverage to a certain point
Bug rate falls below a certain level and no high-priority bugs are
identified
Management decision.
Mr.G.K.Biranagaddi Page 7
Software Testing 2019
Mr.G.K.Biranagaddi Page 8
Software Testing 2019
QC is Reactive means it identifies the defects and also corrects the defects or
bugs also.
Mr.G.K.Biranagaddi Page 9
Software Testing 2019
It is a line function.
Quality Control Means Action has taken on the process by execute them.
Mr.G.K.Biranagaddi Page 10
Software Testing 2019
It is a staff function.
Mr.G.K.Biranagaddi Page 11
Software Testing 2019
Requirements like BRS and SRS begin the life cycle model just like the waterfall
model. But, in this model before development is started, a system test plan is
created. The test plan focuses on meeting the functionality specified in the
requirements gathering.
Mr.G.K.Biranagaddi Page 12
Software Testing 2019
Figure. V-Model
The high-level design (HLD) phase focuses on system architecture and design. It
provides overview of solution, platform, system, product and service/process. An
integration plan is created in this phase as well in order to test the pieces of the
software systems ability to work together.
The low-level design (LLD) phase is where the actual software components are
designed. It defines the actual logic for each and every component of the system.
Class diagram with all the methods and relation between classes comes under
LLD. Component tests are created in this phase as well.
Mr.G.K.Biranagaddi Page 13
Software Testing 2019
The implementation phase is, again, where all coding takes place. Once coding is
complete, the path of execution continues up the right side of the V where the test
plans developed earlier are now put to use.
Coding: This is at the bottom of the V-Shape model. Module design is converted
into code by developers.
Advantages of V-model:
The V-shaped model should be used for small to medium sized projects where
requirements are clearly defined and fixed.
The V-Shaped model should be chosen when ample technical resources are
available with needed technical expertise.
High confidence of customer is required for choosing the V-Shaped model
approach. Since, no prototypes are produced, there is a very high risk involved in
meeting customer expectations.
Mr.G.K.Biranagaddi Page 14
Software Testing 2019
Mr.G.K.Biranagaddi Page 15