Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Software Testing. Quality is Hard to Pin Down Concise, clear definition is elusive Not easily quantifiable Many things to many people You'll know it when.
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
System Integration Verification and Validation
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Testing and Quality Assurance
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
Software Quality Assurance Plan
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
November 2005J. B. Wordsworth: J5DAMQVT1 Design and Method Quality, Verification, and Testing.
Illinois Institute of Technology
SE 555 Software Requirements & Specification Requirements Validation.
Testing an individual module
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Introduction to Software Testing
 What is Software Testing  Terminologies used in Software testing  Types of Testing  What is Manual Testing  Types of Manual Testing  Process that.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
BY: GARIMA GUPTA MCA FINAL YEAR WHAT IS SOFTWARE TESTING ? SOFTWARE TESTING IS THE PROCESS OF EXECUTING PROGRAMS OR SYSTEM WITH THE INTENT.
System Testing There are several steps in testing the system: –Function testing –Performance testing –Acceptance testing –Installation testing.
Extreme Programming Software Development Written by Sanjay Kumar.
Categories of Testing.
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.
SOFTWARE TESTING STRATEGIES CIS518001VA : ADVANCED SOFTWARE ENGINEERING TERM PAPER.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
CPIS 357 Software Quality & Testing
Software Configuration Management (SCM)
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of.
 CS 5380 Software Engineering Chapter 8 Testing.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
This chapter is extracted from Sommerville’s slides. Textbook chapter
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Software Testing Process By: M. Muzaffar Hameed.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
TESTING (S,S,AND A,B) By KARTHIKEYAN KANDASAMY. TESTING Scenario testing – 1.System & 2. Usecase Defect bash System o Functional and non functional testing.
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
is a validation process
Software Quality Assurance and Testing Fazal Rehman Shamil.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Chapter 3- BASIC CONCEPTS OF TESTING Why software can never be perfect The terms commonly used by software testers.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Testing and Evolution CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
REGRESSION TESTING Software Quality Engineering NC Zunaira Tariq Bese 19B Software Quality Engineering NC Zunaira Tariq Bese 19B.
Testing throughout Lifecycle Ljudmilla Karu. Verification and validation (V&V) Verification is defined as the process of evaluating a system or component.
Syndicate Members: 1. GC Muhammad Uzair 2. GC Umer Naveed Malik.
Software Testing Strategies for building test group
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Regression Testing with its types
Software Engineering (CSI 321)
Rekayasa Perangkat Lunak Part-13
SOFTWARE TESTING OVERVIEW
Different Types of Testing
Chapter 8 – Software Testing
Applied Software Implementation & Testing
Engineering Processes
Introduction to Software Testing
Testing and Test-Driven Development CSC 4700 Software Engineering
Chapter 10 – Software Testing
TYPES OF TESTING.
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Software Testing Strategies
Presentation transcript:

Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery date: Lab 4, 5

Software Systems Verification and Validation Levels of Testing Testing typeSpecificationGeneral scopeOpacityWho generally does it? UnitLow-Level Design Actual Code Structure Small unit of code no larger than a class White BoxProgrammer who wrote code IntegrationLow-Level Design High-Level Design Multiple classes White Box Black Box Programmers who wrote code FunctionalHigh Level DesignWhole productBlack BoxIndependent tester SystemRequirements AnalysisWhole product in representative environments Black BoxIndependent tester AcceptanceRequirements AnalysisWhole product in customer’s environment Black BoxCustomer RegressionChanged Documentation High-Level Design Any of the above Black BoxProgrammer(s) or independent testers

Software Systems Verification and Validation Using – Black box testing techniques – white box testing techniques the tester verifies that units work together when they are integrated into a larger code base Just because the components work individually, that doesn’t mean that they all work together when assembled or integrated Integration Testing Integration test is testing in which software components, hardware components, or both are combined and tested to evaluate the interaction between them.

Software Systems Verification and Validation Using black box testing techniques, testers examine the high-level design and the customer requirements specification to plan the test cases to ensure the code does what it is intended to do. System testing involves putting the new program in many different environments to ensure the program works in typical customer environments with various versions and types of operating systems and/or applications. Because system test is done with a full system implementation and environment, several classes of testing can be done that can examine non-functional properties of the system. It is best when function and system testing is done by an unbiased, independent perspective (e.g. not the programmer) System Testing System testing is testing conducted on a complete, integrated system to evaluate the system compliance with its specified requirements. Stress testing – testing conducted to evaluate a system or component at or beyond the limits of its specification or requirement. Performance testing – testing conducted to evaluate the compliance of a system or component with specified performance requirements. Usability testing – testing conducted to evaluate the extent to which a user can learn to operate, prepare inputs for, and interpret outputs of a system or component.

Software Systems Verification and Validation After functional and system testing, the product is delivered to a customer and the customer runs black box acceptance tests based on their expectations of the functionality. These tests are often pre-specified by the customer and given to the test team to run before attempting to deliver the product. The customer reserves the right to refuse delivery of the software if the acceptance test cases do not pass. Acceptance Testing Acceptance testing is formal testing conducted to determine whether or not a system satisfies its acceptance criteria (the criteria the system must satisfy to be accepted by a customer) and to enable the customer to determine whether or not to accept the system. However, customers are not trained software testers. Customers generally do not specify a “complete” set of acceptance test cases. Their test cases are no substitute for creating your own set of functional/system test cases. The customer is probably very good at specifying at most one good test case for each requirement. Many more tests are needed. Whenever possible, we should run customer acceptance test cases ourselves so that we can increase our confidence that they will work at the customer location.

Software Systems Verification and Validation Throughout all testing cycles, regression test cases are ru Regression tests are a subset of the original set of test cases. These test cases are re-run often, after any significant changes (bug fixes or enhancements) are made to the code. The purpose of running the regression test case is to make a “spot check” to examine whether the new code works properly and has not damaged any previously-working functionality by propagating unintended side effects. Regression Testing Regression testing is selective retesting of a system or component to verify that modifications have not caused unintended effects and that the system or component still complies with its specified requirements. The following guidelines should be used hen choosing a set of regression tests (also referred to as the regression test suite): – Choose a representative sample of tests that exercise all the existing software functions; – Choose tests that focus on the software components/functions that have been changed; and – Choose additional test cases that focus on the software functions that are most likely to be affected by the change. A subset of the regression test cases can be set aside as smoke tests. A smoke test is a group of test cases that establish that the system is stable and all major functionality is present and works under “normal” conditions. – The purpose of smoke tests is to demonstrate stability, not to find bugs with the system.

Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery date: Lab 4, 5 See file AssignmentLab03.pdf