16103271 software-testing-ppt

50
SOFTWARE TESTING - I

Upload: atish90

Post on 17-May-2015

6.955 views

Category:

Technology


0 download

DESCRIPTION

faaf

TRANSCRIPT

Page 1: 16103271 software-testing-ppt

SOFTWARE TESTING - I

Page 2: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 2 / 50

• Software Testing – Introduction

• Quality Principles

• Software Process

• SDLC

(Software Development Life Cycle)

• Project Management

Contents

Page 3: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 3 / 50

• Requirement Management• Configuration Management• Software Testing Fundamentals• Testing Policy Vs Quality Policy• Testing Economics and Testing Cost• Testing Levels• Testing Techniques

Contents

Page 4: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 4 / 50

• Test Maturity Criteria

• Verification Process

• Test Level Model

• Special Test Types

• Test Standards

• Testing Process

Contents

Page 5: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 5 / 50

Software Testing

STATIC DYNAMIC

Structural Testing

(White Box testing)

Functional Testing

(Black Box testing)

Logical Errors

Nothing else but functioning

Page 6: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 6 / 50

• TestingA Process of evaluating a particular

product to determine whether the product contain any defects

• Software Testing

Software Testing is a process of evaluating a system by manual or automatic means and verify that it satisfies specified requirements or identify differences between expected and actual results.

Page 7: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 7 / 50

• Why Software Testing ?

Error FreeEfficient SecuredFlexible

Software Testing is important as it may cause mission failure, impact on operational performance and reliable if not done properly.

Page 8: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 8 / 50

QUALITY PRINCIPLES

Quality is defined as meeting the Customer’s requirements in the First time and Every time.

Quality is much more than the absence of defects, which allows us to meet customer’s expectations.

There are five perspective of quality- they are…

Page 9: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 9 / 50

Software Quality

• Critical Quality Attributes

– Maintainability

– Dependability

– Efficiency

– Usability

• Other Attributes– Completeness

– Compatibility

– Portability

– Internationalization

– Understandability

– Scalability

– Robustness

– Testability

– Reusability

– Customizability

Page 10: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 10 / 50

Five perspective of quality

• 1. Transcendent-I know when I see it.

• 2. Product based- possesses desired features

• 3. User based – Fitness for use.

• 4. Development and manufacturing based – Confirms to requirements.

• 5. Value based – At an acceptable cost.

Page 11: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 11 / 50

Why Quality?

Quality is the most important factor affecting an organization's long-term performance. Quality is the way to achieve improved productivity and competitiveness in any organization.

Page 12: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 12 / 50

Cost of Quality• The three categories of costs associated with

producing quality products are

1. Prevention cost : Money required to prevent errors and to do the job right the first time.

2. Appraisal costs : Money Spent to review completed product against requirement.

3. Failure costs : This cost associated with defective products that have been delivered to the user or moved into production.

Page 13: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 13 / 50

Quality Assurance Vs

Quality Control• Quality Assurance

- process oriented (Software development)

- Defect prevention (Identify & Rectify)

• Quality Control- Product Oriented (quality of the entire

product is checked or tested)- Defect detection

Page 14: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 14 / 50

Software Process

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.

Page 15: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 15 / 50

Software Process

• Process – Projects – Products 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.

Page 16: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 16 / 50

ACT DO

CHECK

PLANPlanning & Designing

Coding & Production

Testing & Evaluating

Necessary Actions

Page 17: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 17 / 50

• Plan : Device a plan. Define your objective and determine and strategy and supporting methods required to achieve that objective.

• Do : executive the plan. Create the conditions and perform the necessary training to execute the plan.

• Check : Check the results. Check to determine whether work is progressing according to the plan and whether the results are obtained.

Page 18: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 18 / 50

SDLC(SOFTWARE DEVELOPMENT

LIFE CYCLE)

• Overview of Software Development Activities

• Introduction to Various Lifecycles

Page 19: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 19 / 50

Agenda

• Team Organization Deliverable Turn-in– Project Assignments to be posted on the web-

site

• Introduction to Software Development Activities

• Survey of Lifecycle Models

Page 20: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 20 / 50

Software Engineering

• Layered Technology– Key Process Areas

Tools

Methods

Process

Quality

Page 21: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 21 / 50

Capability Maturity Model

• Developed by SEI(Software Engineering Integration)

• Five Process Maturity Levels– Level 0: Chaos– Level 1: Initial– Level 2: Repeatable– Level 3: Defined– Level 4: Managed– Level 5: Optimizing

Page 22: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 22 / 50

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

Page 23: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 23 / 50

• The six Stages of SDLC process are

Requirement Analysis Design Development Testing Implementation Maintenance

Page 24: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 24 / 50

Requirement Analysis

• Study done by organization against customer’s requirement is documented as SRAS( software requirement analysis specification)

• The main objective of the requirements analysis is to produce a document that properly specifies all requirements of the customer.

• SRS(Software Requirement Specification) is the primary output of this phase.

Page 25: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 25 / 50

Design Process• Decompose entire project into units / modules and

prepare dataflow diagram and communication.• CDD(Comprehensive Design Document)

= HCL + LLD

Design Process

HCD LLD

High Level DesignLow Level Design

Page 26: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 26 / 50

HLD

• High-Level Design (system Design)

– High-level design is the phase of the life cycle when a logical view of the computer implementation of the solution to the customer requirements is developed.

Page 27: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 27 / 50

LLD

• Low Level Design (Detailed Design)

– During the detailed design phase, the view of the application developed during the high level design is broken down into modules and programs. Logic design is done for every program.

Page 28: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 28 / 50

Coding and unit testing

• During the build phase, the detailed design is used to produce the required programs in a programming language.

• This stage produces the source code, executable, and databases applicable.

Page 29: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 29 / 50

Testing

• Unit testing

• Integration testing

• System testing

• STATIC(Reviewing)

• DYNAMIC (Execution)

Page 30: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 30 / 50

Integration testing

• Integration is a systematic approach to building the complete software structure specified in the design from unit-tested modules.

• Integration plan must specify the order in which the modules are integrated.

Page 31: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 31 / 50

System Testing

• System testing is an activity to validate the software product against the requirement specification.

• This stage is intended to find defects that can be exposed only by testing the entire system.

Page 32: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 32 / 50

Acceptance and Installation

• Acceptance and installation is the phase in the software life cycle during which a software product is integrated into its operational environment and tested in this environment to ensure that it performs as required.

• The two basic tasks- getting the software accepted and installing the software at the customer site.

Page 33: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 33 / 50

Project Management

• Project Management is nothing but organising, Planning,ans scheduling software projects.– Project staffing– Project planning– Project scheduling– Project monitoring

Page 34: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 34 / 50

Risk ManagementSoftware Risks

• 1. Risk identification : Identify project, product and business risks.

• 2. Risk analysis : Assess the likelihood and consequences of these risks.

• 3. Risk planning : Draw up plans to avoid or minimize the effects of the risk.

• 4. Risk monitoring : Monitor the risks throughout the project

Page 35: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 35 / 50

Requirements Management

• Requirements management is managing changes in the evolving software in a cost effective manner. Changes may come externally or internally.

• External changes may be due to problem,customer, environment.

• Internal changes may be due to requirements, design, implementation, testing, maintenance

Page 36: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 36 / 50

Configuration Management

• Standards and procedures for managing changes in an evolving software product is configuration management.

• New versions of software systems are created as they change for different machines/OS, offering different functionality.

• Software systems are sometimes called baselines as they are a starting point for further development.

Page 37: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 37 / 50

Verification and release management

• Invent identification scheme for system versions plan when new system version is to be produced. Ensure that version management procedures and tools and properly applied. Plan and distribute new system releases.

Page 38: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 38 / 50

version/variants/releases

• Version : An instance of a system, which is functionally distinct in some way from other system instances.

• Variant: An instance of a system, which is functionally identical but non-functionally distinct from other instances of a system.

• Release : An instance of a system, which is distributed to users outside of the development team.

Page 39: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 39 / 50

Version derivation structure

V 1.1 V 1.2

V 1.1a

V 1.1b V 1.1.1

V 2.0V 1.0 V 2.1 V 2.2

Page 40: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 40 / 50

Software Testing Fundamentals

• Primary role of software testing?

determine whether the system meets specification (producer view)

determine whether the system meets business and user needs (customer view).

Page 41: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 41 / 50

STF

• What is Defects ?– The purpose of testing is to find defects. A

defect is a variance from a desired product attribute. Two categories of defects are

1. Variance from product specifications.

2. Variance from customer/user expectation.

Page 42: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 42 / 50

Defects• 1. Wrong : The specifications have been implemented

incorrectly. This defect is a variance from customer / user specification. (correctly mentioned in specification but wrongly implemented)

• 2. Missing : A specified or wanted requirement is not in the built product. This can be a variance from specification, an indication that the specification was not implemented. ( given in specification but missed out in application)

• 3. Extra : A requirement incorporated into the product that was not specified. This is always a variance from specifications, but may the user of the product desire an attribute. (any thing that dissatisfies)

Page 43: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 43 / 50

Test case

• Set of procedures written by a tester which execute in our system to find defect.

– Positive test case– negative test case

A test case is said to be effective only when both positive and negative cases are prepared.

Page 44: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 44 / 50

Testing Economics & CostTraditional Testing Continuous Testing

Accumulated Accumulated

Test costError Error Test cost

Remaining Remaining

0 20 10 $ 10

0 40 15 $ 25

0 60 18 $ 42

$ 480 12 4 $ 182

$1690 0 0 $ 582

Requirement

Design

Code

Testing

Production

Page 45: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 45 / 50

TESTING LEVELS

• Unit Testing

• Integration Testing

• System Testing

• Acceptance Testing

Page 46: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 46 / 50

Unit Testing

• Unit testing is a testing in which the individual unit of the software are tested in isolation from other parts of a program.

Advantage :• To catch the defects that occurs at the early

stage of software development.• To minimize the ration of defects before

moving to next level

Page 47: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 47 / 50

Integration Testing

• Integration testing refers to the testing in which software units of an application combined and tested for a communication interfaces between them.

Big Bang TestingBottom Up TestingTop Down Testing

Page 48: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 48 / 50

Big Bang TestingModule - 1

System

Module - 4

Module - 2

Module - 3Module - 5

Module - 6

Page 49: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 49 / 50

Big Bang Testing• A type of integration in which software

components of an application are combined all at once into a overall system according to this approach

Advantage : • To check the data flow from one module to

another• Communication between various modules

is checked

Page 50: 16103271 software-testing-ppt

SKYTECH SYSTEMS

SOFTWARE TESTING 50 / 50

Integration• Bottom-up Integration testing :

In bottom up integration, all modules are added or combined from lower level hierarchy to higher level hierarchy I.e., the lower level model is tested in isolation first, then the next set of higher level modules are tested with the previously tested lower modules.

• Worker modules are grouped into builds and integrated.