Software Testing

  • View
    49

  • Download
    1

Embed Size (px)

Text of Software Testing

Software Testing An overview

Srihari Techsoft

Introduction & FundamentalsWhat is Software Testing? Why testing is necessary? Who does the testing? What has to be tested? When is testing done? How often to test?

Srihari Techsoft

Most Common Software problems Incorrect calculation Incorrect data edits & ineffective data edits Incorrect matching and merging of data Data searches that yields incorrect results Incorrect processing of data relationship Incorrect coding / implementation of business rules Inadequate software performanceSrihari Techsoft

Confusing or misleading data Software usability by end users & Obsolete Software Inconsistent processing Unreliable results or performance Inadequate support of business needs Incorrect or inadequate interfaces with other systems Inadequate performance and security controls Incorrect file handlingSrihari Techsoft

Objectives of testing Executing

a program with the intent of finding an error. To check if the system meets the requirements and be executed successfully in the Intended environment. To check if the system is Fit for purpose. To check if the system does what it is expected to do.

Srihari Techsoft

Objectives of testingA

good test case is one that has a probability of finding an as yet undiscovered error. A successful test is one that uncovers a yet undiscovered error. A good test is not redundant. A good test should be best of breed. A good test should neither be too simple nor too complex.Srihari Techsoft

Objective of a Software Tester

Find bugs as early as possible and make sure they get fixed. To understand the application well. Study the functionality in detail to find where the bugs are likely to occur. Study the code to ensure that each and every line of code is tested. Create test cases in such a way that testing is done to uncover the hidden bugs and also ensure that the software is usable and reliable

Srihari Techsoft

VERIFICATION & VALIDATIONVerification - typically involves reviews and meeting to evaluate documents, plans, code, requirements, and specifications. This can be done with checklists, issues lists, walkthroughs, and inspection meeting.

Validation - typically involves actual testing and takes place after verifications are completed. Validation and Verification process continue in a cycle till the software becomes defects free.

Srihari Techsoft

TESTABILITYOperability Observe-ability Controllability Decomposability Stability Understandability

Srihari Techsoft

Software Development Process CyclePlan

Action

Do

Check

Srihari Techsoft

PLAN (P): Device a plan. Define your objective and determine the strategy and supporting methods required to achieve that objective. DO (D): Execute the plan. Create the conditions and perform the necessary training to execute the plan. CHECK (C): Check the results. Check to determine whether work is progressing according to the plan and whether the results are obtained.ACTION (A): Take the necessary and appropriate action if checkup reveals that the work is not being performed according to plan or not as anticipated.Srihari Techsoft

QUALITY PRINCIPLESQuality - the most important factor affecting an organizations long-term performance. Quality - the way to achieve improved productivity and competitiveness in any organization. Quality - saves. It does not cost. Quality - is the solution to the problem, not a problem.Srihari Techsoft

Cost of QualityPrevention Cost Amount spent before the product is actually built. Cost incurred on establishing methods and procedures, training workers, acquiring tools and planning for quality.

Appraisal cost Amount spent after the product is built but before it is shipped to the user. Cost of inspection, testing, and reviews.Srihari Techsoft

Failure Cost

Amount spent to repair failures. Cost associated with defective products that have been delivered to the user or moved into production, costs involve repairing products to make them fit as per requirement.

Srihari Techsoft

Quality AssuranceA planned and systematic set of activities necessary to provide adequate confidence that requirements are properly established and products or services conform to specified requirements.

Quality Control

The process by which product quality is compared with applicable standards; and the action taken when non-conformance is detected.

An activity that establishes An activity which verifies if and evaluates the processes the product meets preto produce the products. defined standards.

Srihari Techsoft

Quality Assurance Helps establish processes.Sets up measurements programs to evaluate processes.

Quality Control Implements the process.Verifies if specific attributes are in a specific product or Service

Identifies weaknesses in processes and improves them.

Identifies defects for the primary purpose of correcting defects.

Srihari Techsoft

Responsibilities of QA and QCQA is the responsibility of the entire team. Prevents the introduction of issues or defects QA evaluates whether or not quality control is working for the primary purpose of determining whether or not there is a weakness in the process. QC is the responsibility of the tester. Detects, reports and corrects defects

QC evaluates if the application is working for the primary purpose of determining if there is a flaw / defect in the functionalities.

Srihari Techsoft

Responsibilities of QA and QC

QA improves the process that is applied to multiple products that will ever be produced by a process.

QC improves the development of a specific product or service.

QA personnel should not perform quality control unless doing it to validate quality control is working.

QC personnel may perform quality assurance tasks if and when required.

Srihari Techsoft

SEI CMMSoftware Engineering Institute (SEI) developed Capability Maturity Model (CMM) CMM describes the prime elements - planning, engineering, managing software development and maintenance CMM can be used for Software process improvement Software process assessment Software capability evaluations

Srihari Techsoft

The CMM is organized into five maturity levelInitial Level 1 Disciplined Process Repeatable Level 2 Standard Consistence Process

Defined Level 3Predictable Process Managed Level 4 Optimizing Level 5Srihari Techsoft

Continuous Improvement Process

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)Phases of SDLC Requirement Specification and Analysis Design Coding Testing Implementation MaintenanceSrihari Techsoft

Requirement Specification and Analysis

User Requirement Specification (USR)

Software Requirement Specification (SRS)

Srihari Techsoft

DesignThe output of SRS is the input of design phase.Two types of design High Level Design (HLD) Low Level Design (LLD)

Srihari Techsoft

High Level Design (HLD) List of modules and a brief description of each module. Brief functionality of each module. Interface relationship among modules. Dependencies between modules (if A exists, B exists etc). Database tables identified along with key elements. Overall architecture diagrams along with technology details.Srihari Techsoft

Low Level Design (LLD) Detailed functional logic of the module, in pseudo code. Database tables, with all elements, including their type and size. All interface details. All dependency issues Error message listings Complete input and outputs for a module.Srihari Techsoft

The Design processBreaking down the product into independent modules to arrive at micro levels. 2 different approaches followed in designing Top Down Approach Bottom Up Approach

Srihari Techsoft

Top-down approach

Srihari Techsoft

Bottom-Up Approach

Srihari Techsoft

Coding Developers use the LLD document and write the code in the programming language specified.Testing The testing process involves development of a test plan, executing the plan and documenting the test results. Implementation Installation of the product in its operational environment. Srihari Techsoft

MaintenanceAfter the software is released and the client starts using the software, maintenance phase is started. 3 things happen - Bug fixing, Upgrade, Enhancement Bug fixing bugs arrived due to some untested scenarios. Upgrade Upgrading the application to the newer versions of the software.

Enhancement - Adding some new features into the existing software.Srihari Techsoft

SOFTWARE LIFE CYCLE MODELSWATERFALL MODEL V-PROCESS MODEL SPIRAL MODEL

PROTOTYPE MODELINCREMENTAL MODEL EVOLUTIONARY DEVELOPMENT MODELSrihari Techsoft

Project Management Project Staffing

Project Planning Project Scheduling

Project Staffing Project

budget may not allow to utilize highly paid staff.

Staff

with the appropriate experience may not be available.

Srihari Techsoft

Project PlanningPlan Description

Quality planValidation plan

Describes the quality procedures and standards used in a project.Describes the approach, resources and schedule used for system validation.

Configuration Describes the configuration management management plan procedures and structures to be used. Maintenance plan Predicts the maintenance requirements of the system/ maintenance costs and efforts required.

Staff Describes how the skills and experience of development plan the project team members will be developed.Srihari Techsoft

Project Scheduling

Bar charts and Activity Net