I. Software Quality, Definition of testing, Role of testing.
II. Failure, Error, fault, Defect, Bug Terminology
III. Objectives of Testing
IV. What is a Test Case?
V. When to start and Stop Testing of software.
VI. Skills for Software Tester.
VII. Quality Assurance, Quality Control, Verification and
Validation, V Model
I. Software Quality, Definition of testing, Role of testing
1. Software Quality
Software quality is the degree of conformance to explicit or implicit requirements
i. Explicit: clearly defined and documented
ii. Implicit: not clearly defined and documented but indirectly suggested
iii. Requirements: business/product/software requirements
iv. Expectations: mainly end-user expectations
2. Definition of Testing
(Question: Explain testing with software quality- 2 Marks each, 4 Marks)
Testing can be defined in simple words as “Performing Verification and Validation of
the Software Product” for its correctness and accuracy of working.
i. Software testing is as old as the hills in the history of digital computers.
ii. The testing of software is an important means of assessing the software to
determine its quality.
iii. Since testing typically consumes 40% to50% of development efforts, and
consumes more effort for systems that require higher levels of reliability, it is
a significant part of the software engineering.
iv. With the development of fourth generation languages (4GL), which speeds up
the implementation process, the proportion of time devoted to testing
v. As the amount of maintenance and upgrade of existing systems grow,
significant amount of testing will also be needed to verify systems after
changes are made.
3. Role of Testing
(Question: Explain the role of Testing – 6 Marks)
i. Software testing is to identify errors in order to reveal and spot it.
ii. The extent of software testing consists of implementation of that code in
different domain and also to look at the features of the code does the software
do what it is should be done and methods respect to the condition.
iii. It is proposed to begin testing from the first phase of the software
iv. It saves time as well as cost. It is a continuous method, which is probably
nonstop but has to be stopped anywhere, for the need of time and resources.
v. The basic need of the testing is to provide best quality product without taking
so much time and money.
vi. The test engineer has to pursue some technical way by which he/she can
review that all the points of necessity for testing have been covered or not.
In SDLC stage there are some most importance things as described below:
i. Recognition of Error and Faults
Testing step is one step which resolves the errors and faults in the software
These errors may be in unit level or in system level.
After going through so many testing the application will be free of errors
that may be disturbing the application.
ii. Statistics to Shareholders and Status of Organization
Testing stage helps to know the condition of product and work standards.
The stakeholders get better data through testing stage about utility value
iii. Enhancement in Product Standards
Testing can help to know the real result and the probable result.
It also helps to pick up the standards of the software.
With proper testing an application can come out of bugs and build up ideal
software for the end-users.
iv. Technical Significance
Testing segment is significant for technical characteristics of any SDLC, as
the software then completed with technically satisfied.
v. To Succeed of any Contentious Programmers
Ideal testing functions and tools aid to evolve up the product in business
and keep programmers away from the other contestant.
Going through all stages of testing, the software application will be more
bugs free, protected and technically sound.
vi. Free from any Risk
Whenever going to develop any software, testing is an essential part.
When develop software without any testing then it may cause lots of risks
to the end users.
To free everyone from any risk, it is essential that to go under all testing
vii. Enhanced Standards
Appropriate tested application provides additional assurance of build up
with best software.
Moreover, it refines standards of application as incessant and all types of
testing stages have prepared a protected and harmless software
application that could be worn by the end users.
viii. Confirmation and Corroboration
One of the major targets of testing stage in SDLC is for confirmation and
Testing is greatly used in confirmation and corroboration method.
Depending on the result we can compare among standards of several
ix. Credibility Evaluation
Testing stage also insist this important issue.
If the software application has gone through all the testing types (like unit
testing, regression testing etc.), the application will surely be a reliable
So, testing evaluate credibility of software application.
Testing provides the greatest analytical process to give equipped testing
on product ensuing in a credible product.
x. Demonstrate Accessibility and Feasibility
One of the most significant targets of testing is to demonstrate the product
is both accessible and functional.
Accessibility testing is where the application is delivering to a select
assembly of users and their functioning with the application is noticed.
All type of a user's communication with the application, like easiness of
applies and whenever users are getting troubles, are preserved and
xi. Avoid Fault Immigration
In the first stage of SDLC, most of the faults have been found. If the faults
can be noticed earlier, then these may be prohibited from immigrating to
the following progress stage.
If the errors could be discover previously then the saving of software
development cost will be vast.
xii. Commercial Significance
A full tested software application will have excellent business aspects.
As all are like to work with reliable and trusted application in commercial.
II. Failure, Error, fault, Defect, Bug Terminology
(Question: Define Bug and list the terms related to software failure: – definition -
1 mark, list – 1 mark, explanation – 2 marks = 4 marks)
Definition: A bug can be defined in simple term as any error or mistake that leads to the
failure of the product or software either due to the specification problem or due to
communication problem, regarding what is developed and what had to be developed.
1. Bug Terminology: Failure, Error, Fault
The various terms related to software failure with respect to the area of
application are listed as Defect, Variance, Fault, Failure, Problem, Inconsistency,
Error, Feature, Incident, Bug, and Anomaly.
i. Problem, error, and bug are probably the most generic terms used.
ii. Anomaly, incident, and variance don’t sound quite so negative and infer
more unintended operation than an all-out failure.
iii. Fault, failure, and defect tend to imply a condition that’s really severe,
maybe even dangerous. It doesn’t sound right to call an incorrectly colored
icon a fault. These words also tend to imply blame: “It’s his fault that the
iv. As all the words sound the same they are distinguished based on the
severity and the area in which the software failure has occurred.
v. When we run a program the error that we get during execution is termed
on the basis of runtime error, compile time error, computational error, and
vi. The error can be removed by debugging, if not resolved leads to a problem
and if the problem becomes large leads to software failure.
vii. A bug can be defined as the initiation of error or a problem due to which
fault, failure, incident or an anomaly occurs.
viii. The program to find the factorial of a number given below lists few errors
problem and failure in a program.
2. void main()
4. int i , fact, n;
5. printf(“enter the number “);
7. for(i =1 ;i
IV. When to start and stop testing of software
1. When to Start Testing
(Question: Give the steps when should software testing start in proje