Presentation is loading. Please wait.

Presentation is loading. Please wait.

BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability.

Similar presentations


Presentation on theme: "BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability."— Presentation transcript:

1 BASICS OF SOFTWARE TESTING Chapter 1

2 Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability 4. Fundamentals of Test Process, 5. General Principles of Testing, 6. Test Metrics January 11, 2018 1.Basics of Software Testing/D.S.Jagli 2 2

3 Errors, faults, failures Humans and errors, January 11, 2018 3 1.Basics of Software Testing/D.S.Jagli 1/11/20183

4 Errors January 11, 2018 1.Basics of Software Testing/D.S.Jagli 4  Errors are a part of our daily life.  Humans make errors in their thoughts, actions, and in the products that might result from their actions.  Errors occur wherever humans are involved in taking actions and making decisions. These fundamental facts of human existence make testing an essential activity. 4

5 Errors: Examples January 11, 2018 1.Basics of Software Testing/D.S.Jagli 5 1/11/20185

6 Error, Faults, Failures  Error (erroneous action) human action that produces an incorrect result. [Ieee 610.12]  Fault is also called A defect or internal error.  An example might be wrongly programmed or forgotten code in the application  Failure is A non fulfillment of A given requirement; A discrepancy between the actual result or behavior (identified while executing the test) and the expected result or behavior (defined in the specifications or requirements).  Examples of failures are products that are too hard to use or too slow, but still fulfill the functional requirements. January 11, 2018 1.Basics of Software Testing/D.S.Jagli 6 1/11/20186

7 Error, Faults, Failures January 11, 2018 1.Basics of Software Testing/D.S.Jagli 7 7

8 Differences 2.Testing and Debugging, January 11, 2018 8 1.Basics of Software Testing/D.S.Jagli 8

9 Testing And Debugging  Testing is the process of determining if a program has any errors.  When testing reveals an error, the process used to determine the cause of this error and to remove it, is known as debugging. January 11, 2018 1.Basics of Software Testing/D.S.Jagli 9 1/11/20189

10 1. The goal of testing is to detect errors 2. It is initiated with known conditions. 3. The o/p can be anticipated. 4. It is a conformation. 5. It find out reason for failure. 6. Design knowledge is not required. 7. It is performed by person who doesn't belong to development team. 8. Test design and execution are done automatically. 9. It should follow certain constraints or rules. 10. It is necessary to have proper planning 1. To detect errors and correct them. 2. It is initiated with un known conditions. 3. The o/p can not be anticipated. 4. It is a reduction process. 5. it is the programmer’s justification. 6. Detailed Design knowledge is required. 7. It is performed by person who belong to development team. 8. Design and execution can’t be done automatically. 9. It shoud have experimentations and guesses. 10. It is not required proper planning. Testing debugging January 11, 2018 10 1.Basics of Software Testing/D.S.Jagli 1/11/201810

11 A Test/Debug Cycle January 11, 2018 1.Basics of Software Testing/D.S.Jagli 11 1/11/201811

12 It s very important in testing Software Quality, January 11, 2018 12 1.Basics of Software Testing/D.S.Jagli

13 Software Quality  We all want high quality software.  There exist several measures of software quality.  Attributes can be divided into static and dynamic quality attributes.  Static attributes refer to the actual code and documentation.  Dynamic attributes refer to behavior of the application while in use. January 11, 2018 1.Basics of Software Testing/D.S.Jagli 13

14 Software Quality Attributes  Static quality attributes: structured, maintainable, testable code as well as the availability of correct and complete documentation.  Dynamic quality attributes: software reliability, correctness, completeness, consistency, usability, and performance January 11, 2018 1.Basics of Software Testing/D.S.Jagli 14 1/11/201814

15 Software Quality (Contd.) January 11, 2018 1.Basics of Software Testing/D.S.Jagli 15 Completeness refers to the availability of all features listed in the requirements, or in the user manual. An incomplete software is one that does not fully implement all features required. Consistency refers to adherence to a common set of conventions and assumptions. For example, all buttons in the user interface might follow a common color coding convention. An example of inconsistency would be when a database application displays the date of birth of a person in the database. 1/11/201815

16 Software Quality  Usability refers to the ease with which an application can be used. This is an area in itself and there exist techniques for usability testing.  Psychology plays an important role in the design of techniques for usability testing.  Performance refers to the time the application takes to perform a requested task. It is considered as a non-functional requirement. It is specified in terms such as ``This task must be performed at the rate of X units of activity in one second on a machine running at speed Y, having Z gigabytes of memory." January 11, 2018 1.Basics of Software Testing/D.S.Jagli 16

17 Software Reliability: Two Definitions January 11, 2018 1.Basics of Software Testing/D.S.Jagli 17 Software reliability [ANSI/IEEE Std 729-1983]: is the probability of failure free operation of software over a given time interval and under given conditions. Software reliability is the probability of failure free operation of software in its intended environment. 1/11/201817

18 Software Reliability In the standard, the quality characteristic is split into maturity, fault tolerance, and recoverability. 1. Fault tolerance is the capability of the software product to maintain a specified level of performance, or to recover from faults in cases of software faults, or of infringement of its specified interface. 2. Maturity means how often a failure of the software occurs as a result of defects in the software. 3. Recoverability is the capability of the software product to reestablish a specified level of performance and recover the data directly affected in the case of a failure. January 11, 2018 1.Basics of Software Testing/D.S.Jagli 18 1/11/201818

19 Correctness vs. Reliability  Though correctness of a program is desirable, it is almost never the objective of testing.  To establish correctness via testing would imply testing a program on all elements in the input domain.  In most cases that are encountered in practice, this is impossible to accomplish. January 11, 2018 1.Basics of Software Testing/D.S.Jagli 19 Thus correctness is established via mathematical proofs of programs. 1/11/201819

20 Correctness and Testing  While correctness attempts to establish that the program is error free, testing attempts to find if there are any errors in it.  Thus completeness of testing does not necessarily demonstrate that a program is error free. January 11, 2018 1.Basics of Software Testing/D.S.Jagli 20 Testing, debugging, and the error removal processes together increase our confidence in the correct functioning of the program under test. 1/11/201820

21 Fundamental of Test Process January 11, 2018 21 1.Basics of Software Testing/D.S.Jagli

22 Fundamental Of Test Process  The description of tasks in the process models is not sufficient to perform structured tests in software projects.  In addition to the embedding of testing in the whole development process, a more detailed process for the testing tasks is needed.  The development task testing must be split into subtasks January 11, 2018 1.Basics of Software Testing/D.S.Jagli 22

23 Fundamental Test Process January 11, 2018 1.Basics of Software Testing/D.S.Jagli 23 1/11/201823

24 General Principles of Testing  Principle 1: Testing shows the presence of defects, not their absence.  Principle 2: Exhaustive testing is not possible.  Principle 3: Testing activities should start as early as possible.  Principle 4: Defects tend to cluster together.  Principle 5: The pesticide paradox.  Principle 6: Test is context dependent.  Principle 7: The fallacy of assuming that no failures means a useful system January 11, 20181.Basics of Software Testing/D.S.Jagli 24

25 Test Metrics  Test Metrics: 1. Organizational 2. Project 3. Process 4. Product  Static  Dynamic January 11, 2018 1.Basics of Software Testing/D.S.Jagli 25 1/11/201825

26 Types Of Testing January 11, 2018 1.Basics of Software Testing/D.S.Jagli 26 C1: Source of test generation. C2: Lifecycle phase in which testing takes place C3: Goal of a specific testing activity C4: Characteristics of the artifact under test One possible classification is based on the following four classifiers: 1/11/201826

27 C1: Source of test generation January 11, 2018 1.Basics of Software Testing/D.S.Jagli 27 1.Fundamentals of Testing/D.S.Jagli1/11/201827

28 C2: Lifecycle phase in which testing takes place January 11, 2018 1.Basics of Software Testing/D.S.Jagli 28

29 C3: Goal of specific testing activity January 11, 2018 1.Basics of Software Testing/D.S.Jagli 29 1/11/201829

30 C4: Artifact under test January 11, 2018 1.Basics of Software Testing/D.S.Jagli 30

31 ??? Thank you 31 1.Basics of Software Testing/D.S.Jagli 31


Download ppt "BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability."

Similar presentations


Ads by Google