IBM Global Services – Testing Competency
© Copyright IBM Corporation 2006
IBM Confidential14/12/2006
SDLC/PLC
IBM Confidential2
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
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.
IBM Confidential3
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
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).
IBM Confidential4
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
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 Confidential5
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
Various Phases in the SDLC
• Feasibility Analysis/Assessment
• Planning & Estimation
• System Requirement Specification (SRS)
• System Analysis & Design
• Coding
• Testing/Validation
• Release/Delivery/deployment
• Maintenance/Technical Support
Solution Definition
Build & Acquire
IBM Confidential6
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
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 Confidential7
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
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 Confidential8
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
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
IBM Confidential9
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
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 Confidential10
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
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)
IBM Confidential11
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
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 )
IBM Confidential12
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
Delivery/Release/deployment
Release the application to the end user/Production environment for real time use.
Key Players
 Developers
 Testers
 Team Leads
IBM Confidential13
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
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
IBM Confidential14
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
Testing to Map SDLC
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2006
IBM Confidential14/12/2006

Sdlc

  • 1.
    IBM Global Services– Testing Competency © Copyright IBM Corporation 2006 IBM Confidential14/12/2006 SDLC/PLC
  • 2.
    IBM Confidential2 IBM GlobalServices – Testing Competency © Copyright IBM Corporation 2005 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.
  • 3.
    IBM Confidential3 IBM GlobalServices – Testing Competency © Copyright IBM Corporation 2005 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).
  • 4.
    IBM Confidential4 IBM GlobalServices – Testing Competency © Copyright IBM Corporation 2005 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.
  • 5.
    IBM Confidential5 IBM GlobalServices – Testing Competency © Copyright IBM Corporation 2005 Various Phases in the SDLC • Feasibility Analysis/Assessment • Planning & Estimation • System Requirement Specification (SRS) • System Analysis & Design • Coding • Testing/Validation • Release/Delivery/deployment • Maintenance/Technical Support Solution Definition Build & Acquire
  • 6.
    IBM Confidential6 IBM GlobalServices – Testing Competency © Copyright IBM Corporation 2005 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
  • 7.
    IBM Confidential7 IBM GlobalServices – Testing Competency © Copyright IBM Corporation 2005 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
  • 8.
    IBM Confidential8 IBM GlobalServices – Testing Competency © Copyright IBM Corporation 2005 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
  • 9.
    IBM Confidential9 IBM GlobalServices – Testing Competency © Copyright IBM Corporation 2005 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
  • 10.
    IBM Confidential10 IBM GlobalServices – Testing Competency © Copyright IBM Corporation 2005 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)
  • 11.
    IBM Confidential11 IBM GlobalServices – Testing Competency © Copyright IBM Corporation 2005 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 )
  • 12.
    IBM Confidential12 IBM GlobalServices – Testing Competency © Copyright IBM Corporation 2005 Delivery/Release/deployment Release the application to the end user/Production environment for real time use. Key Players  Developers  Testers  Team Leads
  • 13.
    IBM Confidential13 IBM GlobalServices – Testing Competency © Copyright IBM Corporation 2005 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
  • 14.
    IBM Confidential14 IBM GlobalServices – Testing Competency © Copyright IBM Corporation 2005 Testing to Map SDLC
  • 15.
    IBM Global Services– Testing Competency © Copyright IBM Corporation 2006 IBM Confidential14/12/2006