FEASIBILITY AND IMPORTANCE
OF
SOFTWARE TESTING
Outline
●

Introduction

●

Knowing the objectives

●

Test Plan

●

Development Testing

●

General Testing Method

●

Co...
Introduction
●

Software testing is a critical element of software quality
assurance and represents the ultimate review of...
Introduction

●

The problem of applying software testing to reliability
estimation is that the input distribution used fo...
Knowing the objectives:
●

Testing is a set of activities that could be planned ahead and
conducted systematically. The ma...
Knowing the objectives

In other to know and understand the objectives better, the
following should be considered:
●

●

●...
Test Plan:
For performing any activity, planning is done and similarly
testing commences with a test plan.
A test plan is ...
Test Plan

The inputs for the test plan are as follows: project plan,
requirements documents and system design document.
A...
Test Plan
●

Testability:
Testability is simply how a computer program can be tested.
This is a process of testing how ade...
Test Plan

●

It is not redundant: (Since the testing time and resources
are limited, there is no point of conducting the ...
Development Testing
●

Development testing includes verification and validation
(V&V).
Verification refers to the set of a...
Development Testing
●

Some of the activities of verification and validation are
part of the software quality assurance th...
Development Testing

In other to implement any testing strategy the following
must be implemented:
➔

Specify product requ...
Development Testing
➔

State testing objectives explicitly. The specific objectives
of testing should be stated in measura...
Development Testing
➔

Develop a testing plan that emphasizes "rapid cycle
testing": it is recommended that a software eng...
Development Testing

➔

Build "robust" software that is designed to test itself.
Software should be designed in a manner t...
Software Development Life Cycle (SDLC)
Vs
Software Test Life Cycle (STLC)

01/29/14

17
General Testing Methods
●

Traditionally, there are two main approaches to testing
software: black-box(or functional) test...
General Testing Methods
●

White-Box testing:
White-box testing strategies include designing tests such
that every line of...
General Testing Methods
●

Black-Box Testing:
Black-box testing tests whether an application actually
functions as it inte...
General Testing Methods
●

Black-Box and White-Box Testing Methods:
While black-box and white-box are terms that are still...
Conclusion
●

Software testing is an important phase in the software
development life cycle. It represents the ultimate re...
Questions

01/29/14

23
Upcoming SlideShare
Loading in …5
×

Importanc of softwaretesting

518 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
518
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Importanc of softwaretesting

  1. 1. FEASIBILITY AND IMPORTANCE OF SOFTWARE TESTING
  2. 2. Outline ● Introduction ● Knowing the objectives ● Test Plan ● Development Testing ● General Testing Method ● Conclusion 01/29/14 2
  3. 3. Introduction ● Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding. Software testing is usually performed for one of two reasons: defect detection, and reliability estimation. 01/29/14 3
  4. 4. Introduction ● The problem of applying software testing to reliability estimation is that the input distribution used for selecting test cases may be flawed. We must at all times have in mind that the key to software testing is trying to find modes of failure - something that requires exhaustively testing the code on all possible inputs. Software testing, depending on the testing method employed, can be implemented at any time on the 01/29/14 development process. 4
  5. 5. Knowing the objectives: ● Testing is a set of activities that could be planned ahead and conducted systematically. The main objective of testing is to find an error by executing a program. And the objective of testing is to check whether the designed software meets the customer specification. 01/29/14 5
  6. 6. Knowing the objectives In other to know and understand the objectives better, the following should be considered: ● ● ● Test should be appropriate and different for different points in time An independent test group should exist and should conduct testing for different software development projects. Though testing and debugging are different activities , debugging must be accommodated in any testing activity. 01/29/14 6
  7. 7. Test Plan: For performing any activity, planning is done and similarly testing commences with a test plan. A test plan is a general document for the entire project that defines the scope, approach to be taken, and the schedule of testing as well as identifies the test items for the entire testing process and personnel responsible for the different activities of testing. 01/29/14 7
  8. 8. Test Plan The inputs for the test plan are as follows: project plan, requirements documents and system design document. An ideal test plan should contain the following: ● Test unit specification ● Features to be tested ● Approach to testing ● Test deliverable ● Schedule ● Personnel allocation 01/29/14 8
  9. 9. Test Plan ● Testability: Testability is simply how a computer program can be tested. This is a process of testing how adequately a particular sets of tests will cover the product. The Attributes of a good test are: ● It should have a high probability of finding an error: (The Tester must understand the software and attempt to develop a mental picture of the failure possibilities.) 01/29/14 9
  10. 10. Test Plan ● It is not redundant: (Since the testing time and resources are limited, there is no point of conducting the test of same procedure as like the other. Every test should have different purpose.) ● It should be best of breed. ● It should be neither simple or complex. (Although it is sometimes possible to combine a series of tests into one test case, the possible side effects associated with this approach 01/29/14 may mask errors.) 10
  11. 11. Development Testing ● Development testing includes verification and validation (V&V). Verification refers to the set of activities that ensure that software correctly implements a specific function. Validation refers to a different set of activities that ensure that the software has been built is traceable to customer requirements. Verification - "Are we building the product right?, 01/29/14 Validation - "Are we building the right product"? 11
  12. 12. Development Testing ● Some of the activities of verification and validation are part of the software quality assurance that include the formal reviews,quality and configuration audits, performance monitoring, simulation, feasibility study, document review,database review, algorithm analysis, development testing, qualification testing, and installation testing. 01/29/14 12
  13. 13. Development Testing In other to implement any testing strategy the following must be implemented: ➔ Specify product requirement in quantifiable manner long before testing commences. Although the overriding objective of testing is to find errors, a good testing strategy also assesses other quality characteristics such as portability,maintainability, and usability. These must be specified in a way that is measurable so that testing results are unambiguous. 01/29/14 13
  14. 14. Development Testing ➔ State testing objectives explicitly. The specific objectives of testing should be stated in measurable terms. For e.g., test effectiveness, test coverage, meantime to failure, the cost to find and fix defects, remaining defect density or frequency of occurrence,and test work hours per regression test should all be stated within the test plan. 01/29/14 14
  15. 15. Development Testing ➔ Develop a testing plan that emphasizes "rapid cycle testing": it is recommended that a software engineering team learn to test in rapid cycles. And the feedback generated from these rapid tests can be used to control quality levels and the corresponding test strategies. 01/29/14 15
  16. 16. Development Testing ➔ Build "robust" software that is designed to test itself. Software should be designed in a manner that uses antibugging techniques. That is, software should be capable of diagnosing certain classes of errors. In addition, the design should accommodate automated testing and regression testing. 01/29/14 16
  17. 17. Software Development Life Cycle (SDLC) Vs Software Test Life Cycle (STLC) 01/29/14 17
  18. 18. General Testing Methods ● Traditionally, there are two main approaches to testing software: black-box(or functional) testing and black-box white-box (or structural) testing. This two should be performed together for every application so that the software will live up to user's expectations on every level. 01/29/14 18
  19. 19. General Testing Methods ● White-Box testing: White-box testing strategies include designing tests such that every line of source code is executed at least once, or requiring every function to be individually tested. #It requires visibility into the executable to determine what to test. #It requires a method to determine the outcome of the test. 01/29/14 19
  20. 20. General Testing Methods ● Black-Box Testing: Black-box testing tests whether an application actually functions as it intended to function. #Testing critical paths functionality (i.e., testing certain Site functionality by testing if associated paths through the site contain errors) #Testing whether or not all appropriate pages contain certain invariable elements. 01/29/14 20
  21. 21. General Testing Methods ● Black-Box and White-Box Testing Methods: While black-box and white-box are terms that are still in popular use, many people prefer the terms "behavioral" and "structural". ● White box testing is much more expensive than black box testing. It requires the source code to be produced before the tests can be planned and is much more laborious in the determination of suitable input data and the determination if the software is or is not correct. 01/29/14 21
  22. 22. Conclusion ● Software testing is an important phase in the software development life cycle. It represents the ultimate review of specification, design and coding. The main objective for test case design is to derive a set of tests that can find out errors in the software. A quality product is what every one wants and appreciates. Software Testing also provides an objective, independent view of the software to allow the business to appreciate and understand the risks at implementation of the software. 01/29/14 22
  23. 23. Questions 01/29/14 23

×