Sen Notes

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

CHAPTER 1: BASICS OF SOFTWARE TESTING AND TESTING METHODS

(14 marks)
Objectives:
Understand the importance of Quality Software
1.1 Definition of Software Testing, Objectives of Testing
1.2 Failure, Error, Fault, Defect, Bug Terminology
1.3 Test Case, When to Start and Stop Testing of Software (Entry and Exit Criteria)
1.4 Verification and Validation, V Model,Quality Assurance, Quality Control
1.5 Methods of testing : static and dynamic testing
1.6 The box approach :white box testing: inspections , walkthroughs, Technical reviews ,
Functional testing, code coverage testing, code complexity testing

1.1 Definition of Software Testing


“The process of exercising or evaluating a system or software by manual or automated
means to verify that satisfies requirements or to identify differences between expected and
actual results” – IEEE DEFINITION
Effective software testing delivers quality software products satisfying user’s requirements,
needs and expectations.
Testing Principles:
1. Testing shows presence of defects: Testing can show the defects are present, but cannot
prove that there are no defects. Even after testing the application or product thoroughly we
cannot say that the product is 100% defect free.
2. Exhaustive testing is impossible: Testing everything including all combinations of inputs and
preconditions is not possible. So, instead of doing the exhaustive testing we can use risks and
priorities to focus testing efforts.
3. Early testing: In the software development life cycle testing activities should start as early as
possible and should be focused on defined objectives.
4. Defect clustering: A small number of modules contains most of the defects discovered during
pre-release testing or shows the most operational failures.
5. Pesticide paradox: If the same kinds of tests are repeated again and again, eventually the
same set of test cases will no longer be able to find any new bugs. To overcome this ―Pesticide
Paradox‖, it is really very important to review the test cases regularly and new and different tests
need to be written to exercise different parts of the software or system to potentially find more
defects.
6. Testing is basically context dependent: Different kinds of sites are tested differently. For
example, safety – critical software is tested differently from an e-commerce site.
7. Absence – of – errors fallacy: If the system built is unusable and does not fulfill the user‘s
needs and expectations then finding and fixing defects does not help.

Software Testing chapter 1 Vaishali Rane Page 1


Objectives of software testing
1. Finding error: Finding defects which may get created by the
programmer while developing the software.
2. Quality improvement: Gaining confidence in and providing
information about the level of quality.
3. Creating good test cases: Good test case is one that has a high
probability of finding undiscovered error.
4. Meets users requirements : To make sure that the end result meets
the business and user requirements.
5. Satisfying Requirements: To ensure that it satisfies the BRS that is
Business Requirement Specification and SRS that is System
Requirement Specifications.
6. To gain the confidence of the customers by providing them a quality product

Software Testing chapter 1 Vaishali Rane Page 2

You might also like