NEED FOR TESTING GOALS OF TESTINGo To demonstrate Data Completeness -product performs each Data Transformation function intended. Data Quality -internal operations of Regression Testing product meets Performance and requirement. Scalabilityo Free from defects View Testingo To increase confidence in proper functioning of S/W.
OBJECTIVES OF TESTING Testing cannot show the absence of defects, it can only show that s/w defects are present. Testing is a process of executing a program with an intention to find error. A successful test is one that uncovers an undiscovered error.Benefits of Testing: Huge loss in terms of money, lives, time , trust and reputation can be avoided. Improves confidence of Warehouse and respective applications using the data. Makes sure requirements are met.
TESTING DEFINED Testing is no longer adjunct to the SDLC, but rather is a key part of it. s/w testing validates the behavior of a program with a finite set of test cases against the specified expected behavior. a “GOOD TEST CASE” is one that has high probability if finding an yet undiscovered error. The goal is to optimize „cost of quality‟, production process to the extent that rework is eliminated and inspection is built into the production process.
WHAT IS A BUG? Error : human action that produces incorrect result. Fault(bug): manifestation of error in s/w Failure: deviation of s/w from its expected delivery or service. A fault may cause the failure. Failure is an event; fault is the state of the s/w, caused by the error. ..that can cause A Person makes ..that creates a an operation an error… fault in s/w.. failure..
HOW MUCH TESTING?It depends on the following RISK:1. RISK of missing important faults2. RISK of incurring failure costs3. RISK of releasing untested or under tested s/w.4. RISK of losing credibility and market share.5. RISK of missing a market window.6. RISK of over-testing and ineffective testing. “Prioritize tests so that, whenever you stop testing, you have done the best testing in the time available.”
LIFE CYCLE MODELS (SDLC) Following are the three life cycle models (SDLC) Waterfall model Spiral model or Iterative model Incremental model
Approach : Disadvantages:1) Document system A. Requirements evolve concept as development2) Identify system continues. requirements and B. Problems in analyze requirements and3) Detailed design design may not be found until very late.4) Coding, Debugging and Unit testing C. Testing is carried out in the end of s/w5) Integration testing process which results6) Deploy the system in a poor test and operate.
SPIRAL MODEL (CONTD.) Spiral model is a software development model combining elements of both design and prototyping- in-stages, so it is a healthy mix top-down and bottom-up concepts. Each phase starts with a design goal (such as user interface prototype as an early phase) and ends with the client (which may be internal) reviewing the progress thus far. Analysis and Engineering Efforts are applied to each phase of the project, with an toward the end goal of the project.
DISADVANTAGES OF SPIRAL MODEL WITHRESPECT TO TESTING Project is finalized only if all the risks are analyzed. It is extremely risk-driven. Spiral model targets testing by treating it as a risk, which has to be addressed. Test estimation (Budget/Schedule) is extremely difficult.
INCREMENTAL MODEL (CONTD.) It is a model in which all the requirements are collected at one shot. Multiple development life cycles take place making it a “multi-waterfall” cycle. Cycles are divided up into smaller, more easily managed iterations. Each iteration passes through the requirements, design, implementation and testing phases A working version of software is produced during the first iteration, so you have working software early on during the software life cycle Subsequent iterations build on the initial software produced during the first iteration Increments can be sequential or parallel.
EVOLUTION OF V MODEL V- model is a process where the development and testing phases can be parallel. For every development phase there is a testing phase. Development phases are called verification whereas testing phases are called validation. Verification means checking if the software implements correctly or not. Validation means checking if the software that has been built is traceable to the customer requirements or not. V Model is the process model to provide quality product by combining SDLC and STLC. In this model both SDLC and STLC works parallel. Left Hand side of the V model contains SDLC in downhill direction whereas right hand side of the V model contains STLC in uphill direction.
V &V MODEL Verification: Verification is the activity, which ensures the work products of a given phase fully implement the inputs to that phase or "the product is built right”. Validation: Validation, in its simplest terms, is the demonstration that the software implements each of the software requirements correctly and completely. In other words, the "right product is built“.
BENEFITS OF V &V MODEL The V&V-model promotes the idea that every deliverable should have an associated test activity. It promotes both static testing of early document or code deliverables and dynamic test stages of software deliverables. Each test phase and test type can uncover and remove defects from the software as early as possible. A specific set of measurable quality goals can also be achieved at the end of each test phase.