0% found this document useful (0 votes)
74 views

Testing

Testing forms an integral part of the software engineering process and is done to improve quality, verify requirements are met, and ensure reliability. Complete testing of all possible test cases is infeasible due to the complexity of software and limited human ability. Verification ensures the software is developed correctly according to specifications while validation ensures the software meets user needs and requirements through testing. A software process specifies the development method and principles like having defined activities, entry/exit criteria, and constraints. The goal of testing is to find defects before customers while exhaustive testing is impossible.

Uploaded by

Kaushikbtech
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views

Testing

Testing forms an integral part of the software engineering process and is done to improve quality, verify requirements are met, and ensure reliability. Complete testing of all possible test cases is infeasible due to the complexity of software and limited human ability. Verification ensures the software is developed correctly according to specifications while validation ensures the software meets user needs and requirements through testing. A software process specifies the development method and principles like having defined activities, entry/exit criteria, and constraints. The goal of testing is to find defects before customers while exhaustive testing is impossible.

Uploaded by

Kaushikbtech
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

INTRODUCTION

Testing as an engineering activity


Testing forms an integral part of the software engineering activities Testing is usually performed: To improve quality For verification & validation For reliability validation Testing ensures that the product meets the needs of the customer Test in time saves considerable expenses

Software bugs will almost always exist in any software module with moderate size: not because programmers are careless or irresponsible, but because the complexity of software is generally intractable -- and humans have only limited ability to manage complexity. It is also true that for any complex systems, design defects can never be completely ruled out. All the possible values need to be tested and verified, but complete testing is infeasible. Exhaustively testing a simple program to add only two integer inputs of 32bits (yielding 2^64 distinct test cases) would take hundreds of years, even if tests were performed at a rate of thousands per second.

Software Verification & Validation


The main goals of this plan and the V&V(Vericationand Validation) eort are: To ensure completeness in the implementation of requirements in each phase of the project (i.e. to ensure traceability from requirements). To maintain and improve the QA (Quality Assurance) of the project. To provide an independent method of checking for completeness of QA Tasks for each phase of the project. V&V will be the responsibility of the SQA Group.

What is Verification?
The standard definition of Verification goes like this: "Are we building the product RIGHT?" i.e. Verification is a process that makes it sure that the software product is developed the right way. The software should confirm to its predefined specifications, as the product development goes through different stages, an analysis is done to ensure that all required specifications are met.

During the Verification, the work product (the ready part of the Software being developed and various documentations) is reviewed/examined personally by one ore more persons in order to find and point out the defects in it. This process helps in prevention of potential bugs, which may cause in failure of the project

What is Validation?
Validation is a process of finding out if the product being built is right? i.e. whatever the software product is being developed, it should do what the user expects it to do. The software product should functionally do what it is supposed to, it should satisfy all the functional requirements set by the user. Validation is done during or at the end of the development process in order to determine whether the product satisfies specified requirements. All types of testing methods are basically carried out during the Validation process. Test plan, test suits and test cases are developed, which are used during the various phases of Validation process

Role of process in software quality


A particular method of doing some thing, generally involving a number of steps or operations is a process. The process that deals with the technical and management issues of software development is called Software Process.

Software Process
Process Projects Products - People A software process specifies a method of developing software. A software project, on the other hand, is a development project in which a software process is used. A Software product is the outcome of a software project.

Process Principles
Prescribes all major activities Uses resources, within a set of constraints, to produce intermediate and final products May be composed of sub-processes Each activity has entry and exit criteria Activities are organized in a sequence Has a set of guiding principles to explain goals Constraints may apply to activity, resource or product

Software Testing principles


The fundamental principles of testing are as follows:
Goal of testing is to find defects before customers find them out. Exhaustive testing is not possible Testing applies all through software lifecycle Having clear test plan is the key to success (having an understanding of why & what is being tested) Test plans have to be reviewed continuously in order to be immune Testing requires talented & committed people who believe in themselves & work in teams Testing provides a balance between prevention & detection Ensure tests are not faulty before getting started

Some products develop immunity against test cases because when testers start using a product initial defects prevent them from using the full functionality Automation requires careful planning, evaluation & training.

Goal
The eventual goal of any software organisation is to ensure that the customers get products that are reasonably free of defects Approaches defect detection & defect prevention also called quality control focus & quality assurance focus

You might also like