Dr. K. Rajendra Prasad
Dr. K. Rajendra Prasad Graduated in B.Tech (CSE) from Jawaharlal Nehru
Technological University, Hyderabad in 1999. He received Masters Degree
in M.Tech (CSE) from Visvesvaraya Technological University, Belgaum
,in 2004. He received Ph.D in Computer Science & Engineering from
JNTUA, Ananthapur, in 2015. Presently, he is working as Professor and
Head of CSE Dept., Institute of Aeronautical Engineering, Hyderabad. He
has received a DST project and published more than 40 Publications in
various International Journals and Conferences. He is a life member of CSI, and member of IEEE. His
research interests are data mining &data warehousing, and databases.
1.1 What is testing?
Testing is the process of exercising or evaluating a system or system components by
manual or automated means to verify that it satisfies specified requirements.
The Purpose of Testing
Testing consumes at least half of the time and work required to produce a functional
Ÿ MYTH: Good programmers write code without bugs. (It’s wrong!!!)
Ÿ History says that even well written programs still have 1-3 bugs per hundred
Productivity and Quality in Software:
Ÿ In production of consumer goods and other products, every manufacturing stage is
subjected to quality control and testing from component to final stage.
Ÿ If flaws are discovered at any stage, the product is either discarded or cycled back for
rework and correction.
Ÿ Productivity is measured by the sum of the costs of the material, the rework, and the
discarded components, and the cost of quality assurance and testing.
Ÿ There is a tradeoff between quality assurance costs and manufacturing costs: If
sufficient time is not spent in quality assurance, the reject rate will be high and so will
be the net cost. If inspection is good and all errors are caught as they occur, inspection
costs will dominate, and again the net cost will suffer.
Ÿ Testing and Quality assurance costs for ‘manufactured’ items can be as low as 2% in
consumer products or as high as 80% in products such as space-ships, nuclear
reactors, and aircrafts, where failures threaten life. Whereas the manufacturing cost of
software is trivial.
Ÿ The biggest part of software cost is the cost of bugs: the cost of detecting them, the cost
of correcting them, the cost of designing tests that discover them, and the cost of
running those tests.
Ÿ For software, quality and productivity are indistinguishable because the cost of a
software copy is trivial.