CS 360 Lecture 18.  Acceptance testing  The complete system, including documentation, training materials, installation scripts, etc. is tested against.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Making the System Operational
Configuration management
System Development Life Cycle (SDLC)
Configuration Management
MIS 2000 Class 20 System Development Process Updated 2014.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Documentation Testing
CS 5150 Software Engineering
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 25 Delivering the System Business Considerations.
© 2005 by Prentice Hall Chapter 4 System Testing & Implementation Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph.
CS CS 5150 Software Engineering Lecture 19 Acceptance and Delivery.
Software Project Transition Planning
Illinois Institute of Technology
System Implementations American corporations spend about $300 Billion a year on software implementation/upgrade projects.
APPLICATION DEVELOPMENT BY SYED ADNAN ALI.
CS CS 5150 Software Engineering Lecture 20 Acceptance and Delivery.
7.2 System Development Life Cycle (SDLC)
Systems Analysis and Design in a Changing World, 6th Edition
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 26 Delivering the System.
Implementation. We we came from… Planning Analysis Design Implementation Identify Problem/Value. Feasibility Analysis. Project Management. Understand.
Chapter 2- Software Process Lecture 4. Software Engineering We have specified the problem domain – industrial strength software – Besides delivering the.
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
System Testing There are several steps in testing the system: –Function testing –Performance testing –Acceptance testing –Installation testing.
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
System Implementation. System Implementation and Seven major activities Coding Testing Installation Documentation Training Support Purpose To convert.
CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System.
Extreme Programming Software Development Written by Sanjay Kumar.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
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.
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Installation and Maintenance of Health IT Systems
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
16 1 Installation  After development and testing, system must be put into operation  Important planning considerations Costs of operating both systems.
Moving into Implementation SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED.Roberta M. Roth.
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 23 Reliability III.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
Construction, Testing, Documentation, and Installation Chapters 15 and 16 Info 361: Systems Analysis and Design.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 24 Delivering the System.
CS CS 5150 Software Engineering Lecture 2 Software Processes 1.
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
System Implementation. © 2011 Pearson Education, Inc. Publishing as Prentice Hall 2 Chapter 13 FIGURE 13-1 Systems development life cycle with the implementation.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
© 2005 by Prentice Hall Chapter 15 System Implementation Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 26 Delivering the System.
WHAT IS USER ACCEPTANCE TEST? HOW IT IS DIFFERENT FROM SYSTEM TESTING?.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CS223: Software Engineering Lecture 31: Acceptance Testing.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 testing and installation 1 for testing you need: test data and test cases test plans and.
 A life cycle of product development is commonly referred as the “model”  A simple model contains five phases  Requirement analysis  Design  Development.
Software Testing CS 560. Software testing strategies A strategic approach to testing  Functionality meets the requirements that guided its design. 
Software Development.
Exam 0 review CS 360 Lecture 8.
Unit 17 System Implementation
Acceptance and Delivery
CS 5150 Software Engineering
Mission Science By Team 07.
1.2 System Design Basics.
Exam 1 review CS 360 Lecture 20.
CS 501: Software Engineering
Presentation transcript:

CS 360 Lecture 18

 Acceptance testing  The complete system, including documentation, training materials, installation scripts, etc. is tested against the requirements by the client  Assisted by the developers.  Developers create test cases and scenarios for the client.  Each requirement is tested separately.  Scenarios are used to compare the expected outcomes with what the system does.  Emphasis is placed on how the system handles problems, errors, restarts, and other difficulties.  Is the system we have built, the system that you wanted? Does it meet your requirements? 2

 Three major objectives of acceptance testing:  Confirm that the system meets the agreed upon requirements  Identify and resolve any conflicts  Determine the readiness of the system for live operations 3

 Defined by the following attributes:  Functional Correctness and Completeness  Accuracy  Data Integrity  Data Conversion  Backup and Recovery  Competitive Edge  Usability  Performance  Start-up Time  Stress  Reliability and Availability  Maintainability and Serviceability  Robustness  Timeliness  Confidentiality and Availability  Compliance  Installability and Upgradability  Scalability  Documentation 4

5

 Iterative development  If the client is properly involved in the development cycle:  The client will have tested many parts of the system  At the end of each iteration  During user testing  Problems and suggestions for improvement will have been incorporated into the system  BUT:  There must still be an acceptance test of the final system before it is released. 6

 Incremental development  Acceptance testing is particularly important with incremental development, since each sprint should end with a release.  Each sprint should be a complete development process, ending with acceptance testing by the client and release.  If several sprints build on each other, each sprint may need to repeat the acceptance tests for earlier sprints to check that they are still met. 7

 Closed box by the client without knowledge of the internals  The entire system is tested as a whole  The emphasis is on whether the system meets the requirements  The tests should use real data in realistic situations, with actual users, administrators, and operators  The acceptance tests must be successfully completed before the new system can go live or replace a legacy system. 8

 The transition from the previous version of a production system to a new release is challenging.  Parallel Testing:  Clients operate the new system alongside the old production system with same data and compare results  Alpha Testing:  Clients operate the system in a realistic but non-production environment  Beta Testing:  Clients operate the system in a carefully monitored production environment 9

 The acceptance test activities are designed to reach a conclusion:  accept the system as delivered  accept the system after the requested modifications have been made  do not accept the system  Usually some useful intermediate decisions are made before making the final decision.  A decision is made about the continuation of acceptance testing if the results of the first phase of acceptance testing is not promising  If the test results are unsatisfactory, changes be made to the system before acceptance testing can proceed to the next phase  During the execution of acceptance tests, the acceptance team prepares a test report on a daily basis 10

11

 A good delivery package results in:  happy client  happy users  less expense in support and maintenance  But many projects rush  Packaging  Help systems  Training materials  Give them to the least experienced members of the team  Do not test them properly  Generally neglect this part of the software process 12

 The best is the enemy of the good  No system is ever perfect.  If you insist on perfection:  You will never release anything  You will still never reach perfection  because the ultimate test comes from the users  Learn what is essential to satisfy the client and focus on it. 13

 Pressures to get products to market and in operation very quickly often lead to bad decisions.  Trade-offs must be made between the cost of packaging, future support and maintenance, and the risk of later problems. 14

 Shrink-wrapped package (may be downloaded)  Installation scripts  Automatic  Varieties of hardware and operating systems  Uninstall, reinstall, etc.  Support (very expensive when it requires staff)  Training  Documentation (user, system administrator, expert user)  Maintenance  Client does not have source code  No bug fixing except with new release 15

 Data processing system  Acceptance  acceptance period may cover several months  client should be comfortable with complete system  Support  client should be self-sufficient  documentation and training for system administrators and operators should be easily accessible.  well organized source code for maintenance  maintenance and support contracts 16

 Embedded system  Acceptance  hardware and software developed together  acceptance tests are a combination  Maintenance  bug fixes may require servicing the hardware  errors may be expensive or dangerous  Support  training for support personnel  documentation and training for users 17

 Time and money spent on training is usually well spent:  one-on-one  in-house training  training courses  distance education  online tutorials  Development team provides information for training materials:  users (perhaps several categories)  system administrators  system maintainers  trainers 18

 A well-designed system needs less training  good conceptual model  intuitive interfaces  Different skill levels need different types of training  skilled users work from the conceptual model  less-skilled users prefer cookbook sets of instructions  occasional users will forget complex details, but remember general structure 19

 Resources  A good help system is a major sub-project  time-consuming, expensive  A good help system saves user time and support staff  time-saving, cost saving  Help system design  Users need many routes to find information  Examples, mini-tutorials, etc.  Help systems need to be tested with real users 20

 Software development  Requirements, design  Source code, test plans and results  User  Introductory (various audiences)  User manual  Web site of known problems, FAQ, etc.  System administrator and operator  System manuals  Business  License, contract, etc. 21

 Online documentation  Much cheaper than print  Fewer restrictions on numbers of pages, colors, etc.  Easy to update (e.g., remotely)  but... Cannot be used if the user's system is down 22

 Creating installation scripts may be a major sub- project  Different scripts, tools and procedures for different categories of software.  Testing must be extensive with real users in their own environment. 23

 Documentation  Requirements, updated to reflect delivered system  System and program design, updated to reflect delivered system  Models, flow charts, UML diagrams  Project organization  Instructions for:  users, administrators, operators  System  Source code and matching binary for all programs  Installation scripts, etc.  Test scripts, data, and reports  Performance documentation  HCI documentation  Acceptance testing documentation 24

 Materials (Today’s lecture is excluded from Exam 1):  Exam: six questions, two to omit, graded out of four.  Each question equally weighted (25% each)  Detailed answers must be legible (marked incorrect if I can’t read your answer)  Answer quality/detail will determine your score for each question  Possible multiple section questions; a, b, c,..  One hour to complete the exam in class (1:50pm – 2:50pm)  You may use one 5 x 7 note card on the exam. (front and back) 25