Академический Документы
Профессиональный Документы
Культура Документы
gsaha@acm.org
Software testing concepts have been briefly described in this article. Readers would find it easier
to understand fundamental concepts of software testing by going through a concept map thereof.
Software testing is itself a discipline as well as a process. Software development is nothing but a
process of coding functionality in order to meet the defined end-user requirements. We can think
of software testing as an iterative process, which consists of Tests Designing, Tests Execution,
Problems Identifying and Problem Fixing, for validating functionality and as well as for attempting
the software break. Software testing aims to find problems and to fix them for improving software
quality. Software testing may represent 40% of a software development budget. Basic methods of
performing software testing include Manual Testing and Automated Testing. Manual software
testing is the process of manually testing software (having the possible forms for example, user
interfaces navigation, information submission, or attempt to hack the software or database etc.),
carried out by an individual or individuals. Manual software testing is labor-intensive and slow. On
the other hand, automated software testing is a process of creating test scripts, which can be run
then automatically, repetitively, and through a number of iterations. Automated software testing
helps us to minimize the variability of results, speed up the testing process, increase test coverage
(that is, the number of different things tested), and ultimately provide greater confidence in the
Software testing can be based on a strategy like White Box Testing or Black Box Testing. Black
Box testing is carried out against the functional specifications in order to check for any abnormal
system behavior. Black box testing includes various types of testing like Functional Testing, Stress
Testing, Load Testing, Ad-hoc Testing, Exploratory Testing, Usability Testing, Smoke Testing,
Recovery Testing, Volume Testing, User Acceptance Testing, Alpha, and Beta Testing. White box
testing deals with program’s internal logic and code structure. White box testing includes various
types of testing like Unit Testing, Static & Dynamic Analysis, Mutation Testing, Statement
ACM Ubiquity Vol. 9, Issue6, 2008 February 12, 2008 - February 18, 2008
Coverage, Branch Coverage, and Security Testing. All these testing concepts and their inter-
relationships have been visually described for our easy understanding of this important topic.
A Concept Map comprises of concepts and propositions. Concept Maps are the graphical
representations of knowledge that are comprised of concepts and the relationships among them.
Concept maps are 2- dimensional representations of cognitive structures showing the hierarchies
important tool for developing our both sensing and intuitive skills. Concept maps are useful as a
means for representing the emerging science knowledge and for increasing meaningful learning in
sciences in contrast to simply memorizing the text. Representing the expert knowledge of
individuals and teams in government, business and in education becomes easier by this useful tool. It
stimulates our idea generation and creativity. It is carving out a strong position for brainstorming,
complex ideas communication, and formal argument representation. Formalized concept maps are
being used in software design or in UML. It is a first step in ontology building. This article is a brief
Further Readings:
http://www.logigear.com/newsletter/introduction_to_software_testing.asp
http://www.buzzle.com/editorials/7-15-2006-102441.asp
http://www.ece.cmu.edu/~koopman/des_s99/sw_testing/
[4] Goutam Kumar Saha, “Software Fault Avoidance Issues,” ACM Ubiquity, Vol.7, Issue 46,
[5] Goutam Kumar Saha, “Understanding Dependable Computing Concepts,” ACM Ubiquity, Vol.8,
[6] Goutam Kumar Saha, “Software-Based, Low-Cost Fault Detection for Microprocessors,” IEEE
Potentials, Vol. 27, No. 1, pp. 37-41, 2008, IEEE Press, USA.
Author's Biography:
In his last nearly twenty years’ R&D and teaching experience, Goutam Kumar Saha has worked as a
scientist in LRDE, Defence Research & Development Organisation, Bangalore and at the Electronics
Research & Development Centre of India, Calcutta. At present, he is with the Centre for
senior member in IEEE, Computer Society of India, and ACM Fellow nominee etc. He has received
various awards, scholarships and grants from national and international organizations. He is a
referee of CSI Journal, AMSE Journal (France), IJCPOL (USA), IJCIS (Canada) and of an IEEE
Journal / Magazine (USA). He is an associate editor of the ACM Ubiquity (USA), International
Journal of the Latin American Center for Informatics Studies (CLEIEJ) and of the International
Journal of Computing and Information Sciences (Canada). He was a Chair and Member of the
Program Committee of the WSNEXT / UBICOMM 2007 (French Polynesia), UBICOMM 2008
(France), IEEE Computer Society Press, CONFENIS2007 (Beijing) etc. His fields of interest
include software based fault tolerance, web technology, EIS, Knowledge Modeling and Natural