Testing throughout Lifecycle Ljudmilla Karu. Verification and validation (V&V) Verification is defined as the process of evaluating a system or component.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Test plans. Test Plans A test plan states: What the items to be tested are At what level they will be tested What sequence they are to be tested in How.
Ch-11 Project Execution and Termination. System Testing This involves two different phases with two different outputs First phase is system test planning.
Requirements Specification and Management
Presentation by Prabhjot Singh
System Integration Verification and Validation
Software Quality Assurance Plan
1 SOFTWARE TESTING Przygotował: Marcin Lubawski. 2 Testing Process AnalyseDesignMaintainBuildTestInstal Software testing strategies Verification Validation.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
Illinois Institute of Technology
APPLICATION DEVELOPMENT BY SYED ADNAN ALI.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
Introduction to Software Testing
CS405 Systems Development Life Cycle 1. Traditional Project Phases Wild Enthusiasm Growing Concern Mounting Terror Resigned Fatalism Persecution of the.
Functional Testing Test cases derived from requirements specification document – Black box testing – Independent testers – Test both valid and invalid.
Web Development Process Description
S/W Project Management
System Implementation. System Implementation and Seven major activities Coding Testing Installation Documentation Training Support Purpose To convert.
… and after unit testing …
Extreme Programming Software Development Written by Sanjay Kumar.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Testing Lifecycle Practice
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.
Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
SENG521 (Fall SENG 521 Software Reliability & Testing Software Product & process Improvement using ISO (Part 3d) Department.
SWE © Solomon Seifu CONSTRUCTION. SWE © Solomon Seifu Lesson 13-2 Testing.
Chapter – 9 Checkpoints of the process
Testing Workflow In the Unified Process and Agile/Scrum processes.
Lecture 7: Requirements Engineering
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
KS3 Phase4 Client Server Monitoring System October 1, 2008 by Stephen, Seema, Kam, Shpetim.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
What is Testing? Testing is the process of exercising or evaluating a system or system component by manual or automated means to verify that it satisfies.
System of Systems Architecture Project 1 System-of-Systems (SoSA) TPTF Review Line of Sight Jeyant Tamby November 6, 2006.
Software Testing. Software testing is the execution of software with test data from the problem domain. Software testing is the execution of software.
Topics Covered: Software testing Software testing Levels of testing Levels of testing  Unit testing Unit testing Unit testing  Integration testing Integration.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Software Testing Process By: M. Muzaffar Hameed.
Chair of Software Engineering Exercise Session 6: V & V Software Engineering Prof. Dr. Bertrand Meyer March–June 2007.
Over View of CENELC Standards for Signalling Applications
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
CPSC 871 John D. McGregor Module 6 Session 2 Validation and Verification.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CIS-74 Computer Software Quality Assurance
ISO 9001:2015 Subject: Quality Management System Clause 8 - Operation
Systems Development Life Cycle
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
 System Requirement Specification and System Planning.
1 March 19, Test Plans William Cohen NCSU CSC 591W March 19, 2008.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Chapter 10 Software Quality Assurance& Test Plan Software Testing
Systems Analysis and Design
Manfred Huber Based on an earlier presentation by Mike O’Dell, UTA
Engineering Processes
Introduction to Software Testing
Lecture 09:Software Testing
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Engineering Processes
Software Testing Lifecycle Practice
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
System Analysis and Design:
Presentation transcript:

Testing throughout Lifecycle Ljudmilla Karu

Verification and validation (V&V) Verification is defined as the process of evaluating a system or component to determine whether the products of the given development phase satisfy the conditions imposed at the start of that phase. Verification is defined as the process of evaluating a system or component to determine whether the products of the given development phase satisfy the conditions imposed at the start of that phase. Validation is defined as determination of the correctness of the products of software development with respect to the user needs and requirements. Validation is defined as determination of the correctness of the products of software development with respect to the user needs and requirements.

Sequential Model The sequential model often fails to bring satisfactory results because of the late attention to the testing activity. When earlier phases in the development cycle slip, it is the testing phase that gets squeezed. This can lead to a limited amount of testing being carried out with the associated production 'teething' problems. There are many models used to describe the sequence of activities that make a Systems Development Life Cycle (SDLC). SDLC is used to describe activities of both development and maintenance work.

Sequential model plus testing gives 'V' diagram The V diagram is another way of looking at the sequential development but this time from viewpoint of testing activities that need to be completed later in SDLC.

'V' with test recognized deliverable The activity of Business Analysis has, as deliverables, the Specification of Requirements from which Acceptance Test Plan is constructed. To have created, for example, System Architecture without integration Test Specification is to do only half the job!

High level test planning Purpose of master test plan is to prescribe scope, approach, resources and schedule of testing activities. A master test plan should include the following: 11. Resumption Requirements 11. Resumption Requirements 12. Test Deliverables 12. Test Deliverables 13. Remaining Testing Tasks 13. Remaining Testing Tasks 14. Environmental Needs 14. Environmental Needs 15. Staffing and Training Needs 15. Staffing and Training Needs 16. Responsibilities 16. Responsibilities 17. Schedule 17. Schedule 18. Planning Risks and Contingencies 18. Planning Risks and Contingencies 19. Approvals 19. Approvals 20. Glossary 20. Glossary 1. Test Plan Identifier 1. Test Plan Identifier 2. References 2. References 3. Introduction 3. Introduction 4. Test Items 4. Test Items 5. Software Risk Issues 5. Software Risk Issues 6. Features to be tested 6. Features to be tested 7. Features not to be tested 7. Features not to be tested 8. Approach 8. Approach 9. Item Pass/Fail Criteria 9. Item Pass/Fail Criteria 10. Suspension Criteria 10. Suspension Criteria

Testing stages Component testing is described fully in BS-7925 and should be aware that component testing is also known as unit testing, module testing or Program Testing. The definition from BS7925 is simply the testing of individual software components. Traditionally, the programmer carries out component testing. This has proved to be less effective than if someone else designs and funs the tests for the component.

Integration is the process of combining components into larger assemblies. From the standard BS-7925 integration testing is defined as "testing performed to expose faults in the interfaces and in the interaction between integrated components", However, in this section we look at two interpretations of integration testing known as integration testing in the large and integration testing in the small. By Integration Testing in the Large we mean testing the integration of the new system or software package with other (complete) systems. This would include the identification of, and risk associated with, all interfaces to these other systems. Also included is testing of any interfaces to external organizations (e.g. EDI - electronic data interchange, Internet) but not testing of the processing or operation of those external systems. We use Integration Testing in the Small in the more traditional sense of integration testing where components are assembled into sub-systems and sub­systems are linked together to form complete systems.

System testing is defined as the process of testing an integrated system to verify that it meets specified requirements. You will come across two very different types of system testing, Functional system testing and non- functional system testing. In plain English functional system testing is focuses on testing the system based on what it is supposed to do. Non-functional system testing looks at those aspects that are important yet not directly related to what functions the system performs.

A functional requirement is " a requirement that specifies a function that a system or system component must perform". Requirements-based testing means that the user requirements specification and the system requirements specification (as used for contracts) are used to derive test cases. Business process-based testing based on expected user profiles (e.g. scenarios, use cases). A functional requirement is " a requirement that specifies a function that a system or system component must perform". Requirements-based testing means that the user requirements specification and the system requirements specification (as used for contracts) are used to derive test cases. Business process-based testing based on expected user profiles (e.g. scenarios, use cases). Non-functional requirements cover the following areas: Non-functional requirements cover the following areas: 1. Load 2. Performance 3. Stress 4. Security 5. Usability 6. Storage 7. Volume 8. Install ability 9. Documentation 10. Recovery

The definition of acceptance testing in BS7925 states that "acceptance testing is formal testing conducted to enable a user, customer, or other authorized entity to determine whether to accept a system or component". Acceptance testing may be the only form of testing conducted by and visible to a customer when applied to a software package. The most common usage of the term relates to the user acceptance testing (VAT) but you should be aware that there are several other uses of acceptance testing, which we briefly describe here.

User acceptance testing - the final stage of validation. Customer should perform or be closely involved in this. Customers may choose to do any test they wish, normally based on their usual business processes. A common approach is to set up a model office where systems are tested in an environment as close to field use as is achievable. User acceptance testing - the final stage of validation. Customer should perform or be closely involved in this. Customers may choose to do any test they wish, normally based on their usual business processes. A common approach is to set up a model office where systems are tested in an environment as close to field use as is achievable. Contract acceptance testing - a demonstration of the acceptance criteria, which would have been defined in the contract, being met. Contract acceptance testing - a demonstration of the acceptance criteria, which would have been defined in the contract, being met.

Alpha & beta testing - In alpha and beta tests, when the software seems stable, people who represent your market use the product in the same way (s) that they would if they bought the finished version and give you their comments. Alpha tests are performed at the developer's site, while beta tests are performed at the user's sites. Alpha & beta testing - In alpha and beta tests, when the software seems stable, people who represent your market use the product in the same way (s) that they would if they bought the finished version and give you their comments. Alpha tests are performed at the developer's site, while beta tests are performed at the user's sites. Maintenance testing is not specifically defined in BS7925 but it is all about testing changes to the software after it has gone into productions. Maintenance testing is not specifically defined in BS7925 but it is all about testing changes to the software after it has gone into productions.

Thanks for attention I hope – no questions!