Вы находитесь на странице: 1из 16

What is a software?

Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling a computer what has to be done. What is Testing? Testing is a stage where the programmer can detect or check any errors in his/her program had made. its main purpose is to look for errors and not only to see if the program is working correctly.

What is software testing


Software testing can be stated as the process of

validating and verifying that a software program/application/product: meets the business and technical requirements that guided its design and development; works as expected; and can be implemented with the same characteristics.

Process of executing a program or system with the intent of

finding errors. To deduct software failures Evaluating an attribute or capability of a program or system and determining that it meets its required results. Scope of Software Testing: Examination of code (does it to) Execution of that code in various environments and conditions (what it is supposed to do) Examining the aspects of code (do what it needs to do).

Limitations of Software Testing


Every method use to find bugs leaves a residue of subtler bugs.(ineffectual) Software Complexity grows to the limits of our ability to manage that complexity. E.g. Testing a simple program to add only two integer inputs of 32-bits (yielding 2^64 distinct test cases) would take hundreds of years, even if tests were performed at a rate of thousands per second. Complete testing is infeasible(possible values can be tested and verified). Eliminating previous bugs allowed another escalation of features and complexity.

Testing Terminology
Quality Verification Validation Errors

Defect
Defect Vs Failures

Bug

Quality
software quality measures how well software is designed (quality of design), and how well the software conforms to that design (quality of conformance) Quality is meeting the requirements expected of the software, consistently and predictably

Verification
Have we built the software right? (i.e., does it match the specification). It is also a process of evaluating a system or component to determine whether the products of a given phase satisfy the conditions imposed at the start of that phase.

Validation
Validation: Have we built the right software? (i.e., is this what the customer wants). It is a process of evaluating a system or a component during or at the end of the development process to determine whether it satisfies specified requirements.

Error, Defect, Failure and bug


Error: Any mistake in a program called error. Defect: Mistakes found by tester during system testing called defect. Failure: Executing defect code, sometimes will produce wrong results, causes failure.

Bug: Reported defect is accepted by developer to resolve called bug.

A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's source code or its design, and a few are caused by compilers producing incorrect code. A program that contains a large number of bugs, and/or bugs that seriously interfere with its functionality, is said to be buggy

Testing Process

Organize Project involves creating a System Test Plan,

Schedule & Test Approach, and requesting/assigning resources. Design/Build System Test involves identifying Test Cycles, Test Cases, Entrance & Exit Criteria, Expected Results, etc. In general, test conditions/expected results will be identified by the Test Team in conjunction with the Project Business Analyst or Business Expert. The Test Team will then identify Test Cases and the Data required. The Test conditions are derived from the Business Design and the Transaction Requirements Documents Design/Build Test Procedures includes setting up procedures such as Error Management systems and Status reporting, and setting up the data tables for the Automated Testing Tool

. Build Test Environment includes requesting/building

hardware, software and data set-ups. Execute Project Integration Test - See Section 3 - Test Phases & Cycles Execute Operations Acceptance Test - See Section 3 Test Phases & Cycles Signoff - Signoff happens when all pre-defined exit criteria have been achieved

Software Testing Life Cycle


Phases Planning Activities Create high level test plan Outcome Test plan, Refined Specification Revised Test Plan, Functional validation matrix, test cases Revised test cases, test data sets, sets, risk assessment sheet

Analysis

Create detailed test plan, Functional Validation Matrix, test cases


test cases are revised; select which test cases to automate

Designs

Construction

Scripting of test cases to automate,


Complete testing cycles Execute remaining stress and performance tests, complete documentation Evaluate testing processes

Test procedures/Scripts, Drivers, test results, Bug reports.


Test results, Bug Reports Test results and different metrics on test efforts

Testing cycle Final testing

Post implementation

Plan for improvement of testing process

Testing embedded in SDLC


Sequential Iterative RAD( rapid application Development)