University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem Darwish.

Slides:



Advertisements
Similar presentations
Basic SDLC Models.
Advertisements

Chapter 7: Software production process Refers to the activities that are used for building, delivering, deploying, and evolving a software product, from.
Presentation by Prabhjot Singh
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Development Life Cycle
Unit 2. Software Lifecycle
Chapter 4 Quality Assurance in Context
Chapter 2 – Software Processes
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Alternate Software Development Methodologies
CS 5150 Software Engineering
A Prototyping Lifecycle. The Waterefall Model and Prototyping 4 As early as the 1980’s the classic “Waterfall model” of software development was criticised.
Software Development Overview CPSC 315 – Programming Studio Spring 2009.
Software Development Overview CPSC 315 – Programming Studio Spring 2008.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CHAPTER 19 Building Software.
Software Life Cycle Model
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
CSI315 Web Technology and Applications
1 CMPT 275 Software Engineering Software life cycle.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Transforming Organizations
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Software Processes Sumber dari : cc.ee.ntu.edu.tw/~farn/courses/SE/ch4.ppt.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Testing Challenges in an Agile Environment Biraj Nakarja Sogeti UK 28 th October 2009.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
Software Development Overview CPSC 315 – Programming Studio Spring 2013.
Software Testing Process By: M. Muzaffar Hameed.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  System and Software  System Engineering  Software Engineering  Software Engineering Standards  Software Development.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
1 Software Testing & Quality Assurance Lecture 15 Created by: Paulo Alencar Modified by: Frank Xu.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Politehnica University of Timisoara Mobile Computing, Sensors Network and Embedded Systems Laboratory Embedded systems testing Testing throughout the software.
44222: Information Systems Development
Systems Development Life Cycle
4.2 SOFTWARE DEVELOPMENT METHODOLOGGY PRESENTED BY : AZURA IBRAHIM SYARIFAH SYAZA BTE SEYD ZULKAFLY CS230(5A)
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Software Engineering cosc 4359 Spring 2017.
Software Development Overview
Unit 6 Application Design KLB Assignment.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software development life cycle models
Chapter 2: Testing throughout the software life cycle
CHAPTER 2 Testing Throughout the Software Life Cycle
Software Processes.
Introduction to Software Engineering
Software Development Process
Software Engineering Lecture 18.
Software life cycle models
Object-Oriented Systems Development Life Cycle (CH-3)
Software Development Process
Software Development Overview
Presentation transcript:

University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem Darwish

Outlines SOFTWARE DEVELOPMENT MODELS TEST LEVELS

SOFTWARE DEVELOPMENT MODELS The development process adopted for a project will depend on the project aims and goals. There are numerous development life cycles that have been developed in order to achieve different required objectives. These life cycles range from lightweight and fast methodologies, where time to market is of the essence, through to fully controlled and documented methodologies where quality and reliability are key drivers.

SOFTWARE DEVELOPMENT MODELS The life cycle model that is adopted for a project will have a big impact on the testing that is carried out test activities are highly related to software development activities The life cycle model will define the what, where, and when of our planned testing, influence regression testing, and largely determine which test techniques to use.

SOFTWARE DEVELOPMENT MODELS In every development life cycle, a part of testing is focused on verification testing and a part is focused on validation testing. verification focuses on the question 'Is the deliverable built according to the specification?'. Validation focuses on the question 'Is the deliverable fit for purpose, e.g. does it provide a solution to the problem?'.

waterfall It has a natural timeline where tasks are executed in a sequential fashion. We start at the top of the waterfall with a feasibility study and flow down through the various project tasks finishing with implementation into the live environment Testing tends to happen towards the end of the project life cycle so defects are detected close to the live implementation date.

waterfall

With this model it has been difficult to get feedback passed backwards up the waterfall there are difficulties if we need to carry out numerous iterations for a particular phase

V-model The V-model was developed to address some of the problems experienced using the traditional waterfall approach The V-model provides guidance that testing needs to begin as early as possible in the life cycle There are a variety of activities that need to be performed before the end of the coding phase. These activities should be carried out in parallel with development activities

V-model

Although variants of the V-model exist, a common type of V-model uses four test levels. 1. component testing: searches for defects in and verifies the functioning of software components (e.g. modules, programs, objects, classes etc.) that are separately testable; 2. integration testing: tests interfaces between components, interactions to different parts of a system such as an operating system, file system and hard ware or interfaces between systems;

V-model Although variants of the V-model exist, a common type of V-model uses four test levels. 3. system testing: concerned with the behavior of the whole system/product as defined by the scope of a development project or product. The main focus of system testing is verification against specified requirements; 4. acceptance testing: validation testing with respect to user needs, require ments, and business processes conducted to determine whether or not to accept the system.

Iterative life cycles Not all life cycles are sequential. There are also iterative or incremental life cycles where, instead of one large development time line from beginning to end, we cycle through a number of smaller self-contained life cycle phases for the same project.

Iterative life cycles

A common feature of iterative approaches is that the delivery is divided into increments or builds with each increment adding new functionality The increment produced by an iteration may be tested at several levels as part of its development. Subsequent increments will need testing for the new functionality, regression testing of the existing functionality, and integration testing of both new and existing parts

Iterative life cycles Regression testing is increasingly important on all iterations after the first one. This means that more testing will be required at each subsequent delivery phase which must be allowed for in the project plans This life cycle can give early market presence with critical functionality, can be simpler to manage because the workload is divided into smaller pieces, and can reduce initial investment although it may cost more in the long run.

Iterative life cycles Examples of iterative or incremental development models are prototyping, Rapid Application Development (RAD), Rational Unified Process (RUP) and agile development.