![]()
Software Testing Techniques (by Boris Beizer)
spends a great deal of time in the testing and validation of their
software. The testing process, driven either by legal or financial
requirements, can be expensive and may thwart the planned deployment of
the application. Many studies indicate that the testing process can
even take three times as long as the actual coding itself. Indeed,
software development done under the ISO 9000 or FDA auspices can be
extremely time intensive.
This book gives a lengthy and fairly comprehensive overview of software
testing that emphasizes formal models for testing. In the introduction,
the author gives a general overview of the testing process and the
reasons and goals for testing. He carefully distinguishes between
testing and debugging, and advocates these as separate activities.
Testing according to the author is done to find bugs; whereas debugging
is done to find the origin of the bugs and fix them. The author
characterizes testing as either functional or structural. Functional
testing treats the program from the user's point of view, with inputs
given to the program, and then the outputs are checked for conformance
to a specified reference. Structural testing examines how the program
is implemented, in terms of programming style, design, etc. The notion
of an oracle is defined as any program or process that specifies the
expected outcome of a collection of tests. The author clearly
identifies and characterizes the different types of tests that arise in
development organizations, such as unit testing, regression testing,
stress testing, and integration testing.
In chapter 2, the
author classifies the different types of bugs that could arise in
program development. Bugs are classified according to functional,
structural, data, coding, system, and design and test bugs. He stresses
the need to not have a religious attitude about bugs, namely that all
software will have them to some degree, and therefore it is the quality
measure of the software that is important in deploying the application.
If a minor bug requires a major software rewrite for example, it would
not be advantageous to fix this bug.
Chapter 3 takes up the
notion of path testing, which, according to the author, is based on the
use of the program's flow control. The tester selects a set of test
paths through the program with the goal of executing every statement
and branch of the program at least once. The author summarizes well the
flowgraph and process block techniques used to implement path testing.
In chapter 4, the author introduces the concept of a transaction flow
as a representation of a system's processing. The flowgraphs developed
in chapter 3 are used here to create a transaction flowgraph for
functional testing. The transaction flow representation gives a way to
model the system's behavior. The author's treatment here is very
detailed, and he gives several useful tips on how to conduct this kind
of testing.
The next chapter covers the topic of data-flow
testing, where again flowgraphs are used, but this time the focus is on
exploring the things that can happen to data. Data objects should be
initialized prior to program execution, and selecting paths to insure
this is the goal of data testing. The author does a good job of
defining and characterizing data anomalies, and the strategies employed
in static and dynamic anomaly detection. This is followed by a good
overview of domain testing in chapter 6. This kind of testing, more
mathematical in nature than others, attempts to test whether the inputs
to programs are fulfilling some prior classification or specification.
The author uses concepts from vector spaces and convex geometry to
describe domain testing.
In chapter 7, several attempts are
discussed to quantify program complexity, such as Halstead's metrics
and token counts. This chapter is somewhat more theoretical at first
glance, but a lot of these ideas have found practical application in
development, particularly the measures for subroutine nesting. This is
followed in the next two chapters by more abstract discussion involving
paths, regular expression, and syntax testing. The discussion however
is useful, for it trains the reader about how to think about a program
in more general, linguistic terms. Such thinking is always useful when
attempting to show a particular program is acting in ways other than
that which it was designed for.
Logic-based testing, via
Boolean algebra, is the topic of chapter 10. The author uses
Karnaugh-Veitch charts to reduce the algebraic manipulations to a
useful graphical representation. Finite-state machines, so useful in
all areas of software engineering, are the topic of chapter 11. The
concepts are presented very effectively by the author, and the reader
should take away an appreciation of how these constructions are
employed in software testing.
The next chapter reads like one
straight out of a book on discrete geometry, wherein graph matrices are
employed to give matrix representations in software. Linked lists are
used to represent the graphs in a computer, and it is shown how testing
problems can be represented as a graph problem.
The last
chapter discusses how to implement software testing based on the
strategies discussed in the book. The three-phase test scenario is
described, namely unit, integration, and system testing. An overview of
commercial testing tools is also given, with CASE mentioned, but the
author chooses not to review the actual packages, citing the dynamic
nature of the commercial situation. However he does give a useful
discussion of the different characteristics of current testing tools.
| Number | Title | Author | Date | Votes | Views |
| 1424 |
Byte of Python
tanthanh
|
2020.05.28
|
Votes 0
|
Views 51090835
|
tanthanh | 2020.05.28 | 0 | 51090835 |
| 1423 |
Surviving the Top Ten Challenges of Software Testing: A People-Oriented Approach (2)
^Software^
|
2019.07.22
|
Votes 0
|
Views 51537625
|
^Software^ | 2019.07.22 | 0 | 51537625 |
| 1422 |
Jmeter Cookbook (1)
VTB
|
2019.06.27
|
Votes 0
|
Views 52415906
|
VTB | 2019.06.27 | 0 | 52415906 |
| 1421 |
Java Testing : Maven - Reference (315 Pages) (1)
IT-Tester
|
2019.06.26
|
Votes 0
|
Views 51994097
|
IT-Tester | 2019.06.26 | 0 | 51994097 |
| 1420 |
Java Testing : Maven Example (154 Pages)
IT-Tester
|
2019.06.26
|
Votes 0
|
Views 51854330
|
IT-Tester | 2019.06.26 | 0 | 51854330 |
| 1419 |
AGILE TESTING - EBOOK (2)
HenryChuks
|
2019.05.31
|
Votes 0
|
Views 50987450
|
HenryChuks | 2019.05.31 | 0 | 50987450 |
| 1418 |
“Software Testing Career Package – A Software Tester’s Journey from Getting a Job to Becoming a Test Leader!”
aiitistqb
|
2018.10.16
|
Votes 0
|
Views 51244436
|
aiitistqb | 2018.10.16 | 0 | 51244436 |
| 1417 |
Practical Software Testing – New FREE eBook [Download] (2)
aiitistqb
|
2018.10.16
|
Votes 0
|
Views 50762503
|
aiitistqb | 2018.10.16 | 0 | 50762503 |
| 1416 |
The Pathologies of Failed Test Automation Projects
aiitistqb
|
2018.10.16
|
Votes 0
|
Views 50940050
|
aiitistqb | 2018.10.16 | 0 | 50940050 |
| 1415 |
Selenium WebDriver Practical Guide (4)
meo meo con con
|
2018.06.16
|
Votes 0
|
Views 51595081
|
meo meo con con | 2018.06.16 | 0 | 51595081 |
| 1414 |
Python for Informatics
melassiri
|
2018.06.04
|
Votes 0
|
Views 51959061
|
melassiri | 2018.06.04 | 0 | 51959061 |
| 1413 |
Hacking - The Art of Exploitation (7)
ravisk
|
2018.03.25
|
Votes 0
|
Views 51649904
|
ravisk | 2018.03.25 | 0 | 51649904 |
| 1412 |
Instant Penetration Testing Setting Up a Test Lab How-to (1)
ravisk
|
2018.03.24
|
Votes 0
|
Views 49821553
|
ravisk | 2018.03.24 | 0 | 49821553 |
| 1411 |
Practical-Guide-to-Software-System-Testing (3)
ravisk
|
2018.03.24
|
Votes 1
|
Views 52419877
|
ravisk | 2018.03.24 | 1 | 52419877 |
| 1410 |
EFFORT estimation software (1)
ravisk
|
2018.03.24
|
Votes 0
|
Views 51264787
|
ravisk | 2018.03.24 | 0 | 51264787 |
| 1409 |
Lee Copeland. A Practitioner's Guide to Software Test Design (19)
Unbroken
|
2017.12.15
|
Votes 0
|
Views 50982699
|
Unbroken | 2017.12.15 | 0 | 50982699 |
| 1408 |
http response codes (3)
SV369
|
2017.12.14
|
Votes 0
|
Views 52156302
|
SV369 | 2017.12.14 | 0 | 52156302 |
| 1407 |
«Hacking Mobile Exposed, Security secrets and solutions» (5)
Unbroken
|
2017.12.08
|
Votes 0
|
Views 51697614
|
Unbroken | 2017.12.08 | 0 | 51697614 |
| 1406 |
James A. Whittaker «Exploratory software testing» (8)
Unbroken
|
2017.12.08
|
Votes 1
|
Views 51368788
|
Unbroken | 2017.12.08 | 1 | 51368788 |
| 1405 |
FOUNDATIONS OF SOFTWARE TESTING (6)
marklouis
|
2017.12.05
|
Votes 0
|
Views 51188689
|
marklouis | 2017.12.05 | 0 | 51188689 |
| 1404 |
Python for informatics (2)
TesterQA
|
2017.12.01
|
Votes 0
|
Views 51340063
|
TesterQA | 2017.12.01 | 0 | 51340063 |
| 1403 |
Selenium Testing Tool Cookbook (11)
liliam001
|
2017.11.14
|
Votes 0
|
Views 50745209
|
liliam001 | 2017.11.14 | 0 | 50745209 |
| 1402 |
What is SQL Injection? (4)
ArifBaba
|
2017.10.28
|
Votes 0
|
Views 51498901
|
ArifBaba | 2017.10.28 | 0 | 51498901 |
| 1401 |
Oracle Middleware Tuning (4)
gpratikg
|
2017.10.08
|
Votes 0
|
Views 51050425
|
gpratikg | 2017.10.08 | 0 | 51050425 |
| 1400 |
Microsoft SQL Server 2012 (3)
yoshiharra
|
2017.10.08
|
Votes 0
|
Views 51565049
|
yoshiharra | 2017.10.08 | 0 | 51565049 |
| 1399 |
visual studio c sharp
vikasrao
|
2017.09.24
|
Votes 0
|
Views 51247002
|
vikasrao | 2017.09.24 | 0 | 51247002 |
| 1398 |
How to Break Web Software: Functional and Security Testing of Web Applications and Web Services (7)
vikasrao
|
2017.09.24
|
Votes 0
|
Views 50620607
|
vikasrao | 2017.09.24 | 0 | 50620607 |
| 1397 |
The Art of Unit Testing with Examples in .NET
vikasrao
|
2017.09.24
|
Votes 0
|
Views 51367655
|
vikasrao | 2017.09.24 | 0 | 51367655 |
| 1396 |
Scrum (2)
dhoanglong91
|
2017.09.23
|
Votes 1
|
Views 50614334
|
dhoanglong91 | 2017.09.23 | 1 | 50614334 |
| 1395 |
Python for Unix and Linux System Administration
Crismachado
|
2017.09.22
|
Votes 0
|
Views 50895412
|
Crismachado | 2017.09.22 | 0 | 50895412 |
| 1394 |
Ruby Best Practices (3)
Crismachado
|
2017.09.22
|
Votes 0
|
Views 50954483
|
Crismachado | 2017.09.22 | 0 | 50954483 |
| 1393 |
Python in Practice (2)
ManhAnh
|
2017.09.05
|
Votes 0
|
Views 51623836
|
ManhAnh | 2017.09.05 | 0 | 51623836 |
| 1392 |
Practical Object-Oriented Design in Ruby (2)
ManhAnh
|
2017.09.05
|
Votes 0
|
Views 49604057
|
ManhAnh | 2017.09.05 | 0 | 49604057 |
| 1391 |
Practical Cassandra (2)
ManhAnh
|
2017.09.05
|
Votes 0
|
Views 51841504
|
ManhAnh | 2017.09.05 | 0 | 51841504 |
| 1390 |
Development with the Force.com Platform, 3rd Edition (2)
ManhAnh
|
2017.09.05
|
Votes 0
|
Views 52258486
|
ManhAnh | 2017.09.05 | 0 | 52258486 |
| 1389 |
Apache Cordova 3 Programming (2)
ManhAnh
|
2017.09.05
|
Votes 0
|
Views 51297921
|
ManhAnh | 2017.09.05 | 0 | 51297921 |
| 1388 |
Software Testing - Ron Patton (4)
bugdetective
|
2017.09.04
|
Votes 0
|
Views 52271971
|
bugdetective | 2017.09.04 | 0 | 52271971 |
| 1387 |
The Art of Software Testing, 2rd Edition (1)
bugdetective
|
2017.09.04
|
Votes 0
|
Views 50889278
|
bugdetective | 2017.09.04 | 0 | 50889278 |
| 1386 |
Explore It!
bugdetective
|
2017.09.04
|
Votes 1
|
Views 50883394
|
bugdetective | 2017.09.04 | 1 | 50883394 |
| 1385 |
NoSQl (1)
getmedude
|
2017.08.27
|
Votes 0
|
Views 52171114
|
getmedude | 2017.08.27 | 0 | 52171114 |
| 1384 |
Art of testing (10)
dktzm89
|
2017.08.16
|
Votes 0
|
Views 51620995
|
dktzm89 | 2017.08.16 | 0 | 51620995 |
| 1383 |
Perl Book (1)
Ravish24
|
2017.08.15
|
Votes 0
|
Views 50977631
|
Ravish24 | 2017.08.15 | 0 | 50977631 |
| 1382 |
Automation Testing (5)
Ravish24
|
2017.08.15
|
Votes 1
|
Views 53217770
|
Ravish24 | 2017.08.15 | 1 | 53217770 |
| 1381 |
Prince2 model chart
AllGreen
|
2017.08.09
|
Votes 0
|
Views 50646443
|
AllGreen | 2017.08.09 | 0 | 50646443 |
| 1380 |
Prince2 for Dummies
AllGreen
|
2017.08.09
|
Votes 0
|
Views 52179067
|
AllGreen | 2017.08.09 | 0 | 52179067 |
| 1379 |
Unix and Linux testing (2)
pavan765
|
2017.08.01
|
Votes 0
|
Views 52304486
|
pavan765 | 2017.08.01 | 0 | 52304486 |
| 1378 |
Practical Software Testing (6)
Administrator
|
2017.07.24
|
Votes 0
|
Views 50626787
|
Administrator | 2017.07.24 | 0 | 50626787 |
| 1377 |
Selenium Notes (1)
masterofall
|
2017.07.24
|
Votes 0
|
Views 51309118
|
masterofall | 2017.07.24 | 0 | 51309118 |
| 1376 |
Practical Software Testing
masterofall
|
2017.07.24
|
Votes 0
|
Views 52417382
|
masterofall | 2017.07.24 | 0 | 52417382 |
| 1375 |
Lead Generation for Dummies (2)
uday bhaskar
|
2017.07.20
|
Votes 0
|
Views 51342225
|
uday bhaskar | 2017.07.20 | 0 | 51342225 |
thanks
How can i download this ebook ?
I could not download the file. My point is 500. Please help me.
Download permission granted
How can i download this ebook? Please help me................................
Good book for ISTQB
how can i dwnld this?anyone plzzz help me.............
This is a "Book Intro" it's not an ebook.
I've been looking for this book from quite a time, please grant permission to download this book..
I will try to find this book,thanks for sharing
I have a paid membership and would like to download this ebook. How can I do it?
You can download. please try again.
Download is available.
Can i download this file? Please let me know as soon as possible
Now you can see the link to download.
Thanks for this book...
Tks for sharing
tks
excellent book