Sie sind auf Seite 1von 15

IBM Global Services Testing Competency

SDLC/PLC

14/12/2006

Copyright IBM Corporation 2006

IBM Confidential

IBM Global Services Testing Competency

Introduction to software Engineering


Software Process
Software Process Models
What is Software Process ?
A process is a structured set of activities required to develop a system which includes
specification, Design, Validation and evaluation.
The roadmap to building high quality software products is software process.
Software processes are adapted to meet the needs of software engineers and managers
as they undertake the development of a software product.
A software process provides a framework for managing activities that can very easily get
out of control.
Different projects require different software processes.
The software engineer's work products (programs, documentation, data) are produced
as consequences of the activities defined by the software process.
The best indicators of how well a software process has worked are the quality,
timeliness, and long-term viability of the resulting software product.
2

IBM Confidential

Copyright IBM Corporation 2005

IBM Global Services Testing Competency

Software Engineering (contd.)


Objectives of Software Process
To introduce various software lifecycle models.
To describe a number of different lifecycle models and when they may be used.
To describe outline process models for requirements engineering, software
development, testing and evolution.

Software Engineering
Software engineering encompasses a process, management techniques, technical
methods, and the use of tools.

Generic Software Engineering Phases


Definition phase - focuses on what (information engineering, software project planning,
requirements analysis).
Development phase - focuses on how (software design, code generation, software
testing).
Support phase - focuses on change (corrective maintenance, adaptive maintenance,
perfective maintenance, preventative maintenance).
3

IBM Confidential

Copyright IBM Corporation 2005

IBM Global Services Testing Competency

Definition of Software Development Life Cycle (SDLC) (or)


Project Life Cycle (PLC)

The various phases which are under taken sequentially when developing a
software are commonly modeled as Software Development Life Cycle (SDLC)
(or) project life cycle (PLC).

The software development life cycle begins with the identification of


requirements for a software and ends with the formal validation of the
developed software against the requirements.

IBM Confidential

Copyright IBM Corporation 2005

IBM Global Services Testing Competency

Various Phases in the SDLC

Feasibility Analysis/Assessment
Planning & Estimation
System Requirement Specification (SRS)

Solution Definition

System Analysis & Design


Coding
Testing/Validation
Release/Delivery/deployment

Build & Acquire

Maintenance/Technical Support

IBM Confidential

Copyright IBM Corporation 2005

IBM Global Services Testing Competency

Feasibility Analysis/Assessment
Study of user requirements to know any hurdles before designing the system.
Generally following areas are analyzed in this phase.

Technical Feasibility
Project Schedules/time frames
Financial Activities

Key Players
Analysts
Developers
Testers

Deliverables
Feasibility Analysis Report

IBM Confidential

Copyright IBM Corporation 2005

IBM Global Services Testing Competency

Planning & Estimation


Proper estimation is done in this phase to complete the given task.
Estimation is done in the initial phase of project based on the requirements. Client has
to approve the estimation. There are different techniques like Function Point analysis,
COCOMO (involves costing also) for estimation. Estimation generally done by team
leads/experienced team members.

Key Players
Team leads
Senior Developers/Testers

Deliverables
Estimation

IBM Confidential

Copyright IBM Corporation 2005

IBM Global Services Testing Competency

System Requirement Specification (SRS)

User/client requirements are collected in this phase from the client. Requirements should
be specific not generic. Following requirements are collected in this phase.
Functional/Business requirements (how the user going to use the system)
Environmental requirements (like Hardware, Software, Networks etc.,)
User interface & Usability requirements (like look & feel, hot keys, key board supports)

Main focus of the system is


Who is going to use the system?
How will they use the system?
Business logic of the system?
What data should be input into the system?
What data should be output by the system?

Deliverables
System Requirement Specification (SRS) document
Use Cases
8

IBM Confidential

Copyright IBM Corporation 2005

IBM Global Services Testing Competency

System Analysis and Design

Software requirements are transformed into architecture and detailed design.


The software system design is produced from the results of the requirements phase.
Architects have the ball in their court during this phase and this is the phase in which
their focus lies. This is where the details on how the system will work is produced.
Architecture, including hardware and software, communication, software design (UML
is produced here) are all part of the deliverables of a design phase

Key Players

Architects and Developers

Deliverables

High level design (HLD)/ Architectural design

Low level design (LLD)/ Detailed design

Master Test Plan (MTP)

Test Scenarios

Test cases documents

Test Matrix

IBM Confidential

Copyright IBM Corporation 2005

IBM Global Services Testing Competency

Coding & Unit test

Transforms design into code (business logic)


Code is produced from the deliverables of the design phase.
Coding and unit testing are parallel activities.

For a developer, this is the main focus of the life cycle because this is where the code is
produced. Implementation my overlap with both the design and testing phases. Many
tools exists (Computer Aided Software Engineering (CASE) tools) to actually automate
the production of code using information gathered and produced during the design
phase.

Key Players
Developers
Deliverables
Unit test Report
Beta version of the application (.exe file, web link)
10

IBM Confidential

Copyright IBM Corporation 2005

IBM Global Services Testing Competency

Testing (Validation)

Validating the system against the user requirements.

During testing, the application is tested against the requirements to make sure that the
system is actually meeting the needs of the user needs addressed in the requirements
phase.

System Test, System Integration Test, acceptance tests are done during this phase.
Unit tests act on a specific component of the system, while system tests act on the
system as a whole.

Key Players

Testers, Test Leads

Deliverables

Final version of the completed application

Test Summary Report (TSR) (Summary of System test, system Integration testing)

Test Incident Report (TIR) (any event (environment down etc.,) that occurs during
testing which requires further investigation.

Test Status Report (TStR) (Progress/status of testing )

11

IBM Confidential

Copyright IBM Corporation 2005

IBM Global Services Testing Competency

Delivery/Release/deployment
Release the application to the end user/Production environment for real time use.

Key Players
Developers
Testers
Team Leads

12

IBM Confidential

Copyright IBM Corporation 2005

IBM Global Services Testing Competency

Maintenance / Technical support


Supporting the application (24x7) during the run time (production) for undetected errors
during testing.
Technical support for the application may varies depending upon the application
criticality.

Critical applications

- 24 x 7 support

Semi critical applications

- 24 x 5 support

Low critical applications

- 12 x 5 support

Key Players
Developers
Testers
Team Leads

13

IBM Confidential

Copyright IBM Corporation 2005

IBM Global Services Testing Competency

Testing to Map SDLC

14

IBM Confidential

Copyright IBM Corporation 2005

IBM Global Services Testing Competency

14/12/2006

Copyright IBM Corporation 2006

IBM Confidential

Das könnte Ihnen auch gefallen