25
After discussion of Software Testing Fundamentals the main conclusions should be made.
Firstly, brief history of testing evolution showed that there are different approaches of testing in a
timeline, such as The Debugging-Oriented,
Demonstration-Oriented, Destruction-Oriented,
Evaluation-Oriented, Prevention-Oriented, Context-Driven,
Session-based, Agile Manifesto. Only
after Debugging-Oriented period the differentiation between terms "debugging" and "testing" was
presented. Secondly, the vast of concepts has been defined as multidimensional and the most used
facets of testing,
such as QA activities, quality factors, incident handling, standards,
test levels, test
types, test tools, people skills, resources, time etc., have been distinguished. The more formalized term
by ISO standard decided to use for a wider look on testing and focus on compliance of requirements or
"differences between existing and required conditions" which is called a bug or defect. Thirdly, the
objectives of testing have been discovered: to find mistakes while developing the software, to gain
confidence in and provide information about the level of quality,
to prevent from defects, to ensure
compliance of business and user requirements, to ensure that software meets the BRS and SRS.
Fourthly, the classification of quality factors with the requirements and their corresponding tests has
been illustrated in the extended table. Fifthly, the main principles of testing are identified in order to
get full coverage of tests and perform efficient testing. They are as follows: 1) Testing shows presence
of defects, 2) Exhaustive
testing is impossible, 3) Early testing,4) Defect clustering, 5) Pesticide
paradox, 6) Testing is context depending, 7) Absence – of – errors fallacy. Moreover, it is stated that
the risk and priorities should be used to distribute testing efforts instead
of doing the exhaustive
testing.
Finally, the relationship between software testing and quality assurance can be distinguished
after generalization of Software Testing Fundamentals and Quality Assurance is made. The main
purpose of software testing is to discover defects (including prevention) while developing the software,
provide information about the level of quality, to ensure compliance of business and user requirements,
and to ensure that software meets the requirements as well. Whereas, quality assurance is defined as a
process, set of activities (instructions) on how to ensure the consistency
of software according the
requirements during testing phase. The main activities of quality assurance are verification and
verification that are performed by different software testing techniques. In particular, the relationship
between software testing and software quality is essential for reducing impact on software life cycle
cost and schedule.
26
2. AN OVERVIEW OF SOFTWARE TESTING TECHNIQUES AND THEIR USE
IN ENTERPRISES
This chapter presents the software testing techniques, including static and dynamic testing as a
code analysis, test design based methods to create test cases, software testing levels that are analyzed
as a stage of software development. Test execution types, including manual and automated testing, are
analyzed as well. Further, the practical use of software testing techniques in enterprises is examined to
identify how enterprises adopt those software testing techniques and what benefits and limitations they
are facing while using any of software testing techniques.
2.1.
Do'stlaringiz bilan baham: