W.C.Uduwela. Dept. of Mathematics & Computer Science

Size: px
Start display at page:

Download "W.C.Uduwela. Dept. of Mathematics & Computer Science"

Transcription

1 Software Testing W.C.Uduwela Dept. of Mathematics & Computer Science

2 The image cann ot be displayed. Your compu ter may not have enough memory to open the image, or the image may have been cor rup ted. Restart you r computer, and then open the file again. If the red x still appears, y ou may have to delete the image and then insert it again. To demonstrate to the developer and the Topics customer covered that the software meets its requirements. Two fundamental testing activities Component Testing Interface Testing System Testing Integration Testing Release Testing Performance Testing Goal of Testing process Validation testing Defect testing To discover faults or defects in the software where the behavior of the software is incorrect, undesirable or Testing does not conform to its specification

3 Component testing The Testing Process Testing of individual program components; Identifying defects in components Functions, Objects, Reusable Components Usually the responsibility of the component developer (except sometimes for critical systems); Tests are derived from the developer s experience.

4 Cont System testing Testing of groups of components integrated to create a system or sub-system; The responsibility of an independent testing team; Tests are based on a system specification (Functional and non functional requirement). Sometimes defects missed in components testing can be found in here

5 Testing phases Component testing System testing Software developer Independent testing team

6 "Are we building the right product. The software should do what the user really requires. Software testing process has two distinct goals Validation testing To demonstrate to the developer and the system customer that the software meets its requirements; A successful test shows that the system operates as intended. Defect testing To discover faults or defects in the software where its behavior is incorrect or not in conformance with its specification; A successful test is a test that makes the system perform incorrectly and so exposes a defect in the system.

7 S/W Testing.??? Testing can only show the presence of error not their absence Testing is a process intended to build confidence in the software

8 System testing Involves integrating components to create a system or sub-system. May involve testing an increment to be delivered to the customer (Iterative development) Two phases: Integration testing - the test team have access to the system source code. The system is tested as components are integrated. Release testing - the test team test the complete system to be delivered as a black-box. Acceptance testing

9 Integration testing Involves building a system from its components and testing it for problems that arise from component interactions (testing checks that these component actually work together are called correctly and transfer the right data at the right time across the interface) There are 02 ways: Top-down integration testing Develop the skeleton of the system and populate it with components. Bottom-up integration testing Integrate infrastructure components then add functional components. To simplify error localisation, systems should be incrementally integrated.

10 Up_Integration

11 Incremental integration testing A T1 A T1 A T1 T2 B T2 T2 B T3 B T3 C T3 T4 C T4 D T5 Test sequence 1 Test sequence 2 Test sequence 3

12 Cont Reality is different. The implementation of system features may be spread across a number of components To test a new feature you may have to integrate several different components Therefore repairing an error also difficult Further integrating and testing a new component can change the pattern of already tested component integrations

13 Regression Testing When a new increment is integrate it is important to return the tests for previous increments as well as the new tests that are required to verify the new system function. This is regression testing Expensive process Impractical without some automation support

14 Need to show it delivers the specified functionality, performance and dependability and that it does not fail during normal use. Release testing The process of testing a release of a system that will be distributed to customers. Primary goal is to increase the supplier s confidence that the system meets its requirements. Release testing is usually black-box or functional testing Based on the system specification only; Testers do not have knowledge of the system implementation.

15 Black-box testing Input test da ta Ie Inputs causing anomalous beha viour System Output test r esults Oe Outputs w hich r eveal the pr esence of defects

16 Testing guidelines Testing guidelines are hints for the testing team to help them choose tests that will reveal defects in the system Choose inputs that force the system to generate all error messages; Design inputs that cause buffers to overflow; Repeat the same input or input series several times; Force invalid outputs to be generated; Force computation results to be too large or too small.

17 Testing scenario A student in Scotland is studying American History and has been asked to write a paper on ŌFrontier mentality in the American West from 1840 to 1880Õ.To do this, she needs to find sources from a range of libraries. She logs on to the LIBSYS system and uses the search facility to discover if she can acce ss original documents from that time. She discovers sources in various US university libraries and down loads copies of some of these. However, for one document, she needs to have confirmation from her university that she is a genuine student and that use is for non-commercial purposes. The s tudent then uses the facility in LIBSYS that can request such permission and registers her request. If granted, the document will be down loaded to the registered libraryõs server and printed for her. She receives a message from LIBSYS telling her that she will receive an message when th e printed docu ment is available for collection.

18 System tests 1. Test the login mechanism using correct and incorrect logins to check that valid users are accepted and invalid users are rejected. 2. Test the search facility using different queries against known sources to check that the search mechanism is actually finding documents. 3. Test the system presentation facility to check that information about documents is displayed properly. 4. Test the mechanism to request permission for downloading. 5. Test the response indicating that the downloaded document is available.

19 Use cases Use cases can be a basis for deriving the tests for a system. They help identify operations to be tested and help design the required test cases. From an associated sequence diagram, the inputs and outputs to be created for the tests can be identified.

20 Collect weather data sequence chart :CommsController :WeatherStation :WeatherData request (repor t) acknowledge () repor t () summarise () reply (repor t) send (repor t) acknowledge ()

21 Performance testing Part of release testing may involve testing the emergent properties of a system, such as performance and reliability. Performance tests usually involve planning a Performance tests usually involve planning a series of tests where the load is steadily increased until the system performance becomes unacceptable.

22 Stress testing Exercises the system beyond its maximum design load. Stressing the system often causes defects to come to light. Stressing the system test failure behaviour.. Systems should not fail catastrophically. Stress testing checks for unacceptable loss of service or data. Stress testing is particularly relevant to distributed systems that can exhibit severe degradation as a network becomes overloaded.

23 Component testing Component or unit testing is the process of testing individual components in isolation. It is a defect testing process. Components may be: Individual functions or methods within an object; Object classes with several attributes and methods; Composite components with defined interfaces used to access their functionality.

24 Object class testing Complete test coverage of a class involves Testing all operations associated with an object; Setting and interrogating all object attributes; Exercising the object in all possible states. Inheritance makes it more difficult to design object class tests as the information to be tested is not localised.

25 Weather station object interface WeatherStation identifier repor tweather () calibrate (instruments) test () star tup (instruments) shutdown (instruments)

26 Weather station testing Need to define test cases for reportweather, calibrate, test, startup and shutdown. Using a state model, identify sequences of state transitions to be tested and the event sequences to cause these transitions For example: Waiting -> Calibrating -> Testing -> Transmitting -> Waiting

27 Interface testing Objectives are to detect faults due to interface errors or invalid assumptions about interfaces. Particularly important for object-oriented development as objects are defined by their interfaces.

28 Cont Test cases A B C

29 Interface types Parameter interfaces Data passed from one procedure to another. Shared memory interfaces Block of memory is shared between procedures or functions. Procedural interfaces Sub-system encapsulates a set of procedures to be called by other sub-systems. Message passing interfaces Sub-systems request services from other sub-system.s

30 Interface misuse Interface errors A calling component calls another component and makes an error in its use of its interface e.g. parameters in the wrong order. Interface misunderstanding A calling component embeds assumptions about the behaviour of the called component which are incorrect. Timing errors The called and the calling component operate at different speeds and out-of-date information is accessed.

31 Interface testing guidelines Design tests so that parameters to a called procedure are at the extreme ends of their ranges. Always test pointer parameters with null pointers. Design tests which cause the component to fail. Use stress testing in message passing systems. In shared memory systems, vary the order in which components are activated.

32 Software System Implementation W.C.Uduwela Department of Mathematics and Computer Science

33 Introduction Can be defines with major set of goals associated with it; Making new system available to prepared set of users (Deployment) Positioning on-going support and maintenance of the system within the performing organization (Transition)

34 System Deployment It consists of; Executing all steps need to educate the consumer on the use of the new system Placing the newly developed system in to production (in real time business environment) Confirming that all data required at the start of operations is available and accurate Validating that business system are functioning properly

35 System Transition It support responsibilities involves changing from a system development to a system support and maintenance mode of operation. Ownership also move from project team to the performaing organization

36 System Implementation vs Other phases of SDLC Project issues in other phases that arise have little or no impact on day to day business Any misuse at the system implementation almost certainly translate into direct operational and/or financial impact on the performing org. Therefore careful planning, executing and management of system Implementation activities that the project team can minimize the likelihood of these occurrence

37 Processes of System Implementation Prepare for system Implementation (preparation of production environment and consumer communities) Deploy Software System Transition to Performing Organization

38 Prepare for system Implementation All the possible steps are taken to ensure that the upcoming system deployment and transition occurs smoothly, efficiently, and flawlessly Prepare the consumer by giving training to be positioned them to utilize the system It is essential that everyone involved be absolutely synchronized with the deployment plan and with each other. Performance of the deployment efforts impact Ex: Consumer may experience the new system Technical service and Technical support personnel

39 Deploy Software System All activities required are performed to successfully install the new system and make it available to the consumers This is the culmination of the all prior efforts It may impact the technical, operational and cultural aspects of the organization User training familiarize themselves with the system and will help to establish their expectation regarding what the system will and will not do

40 Cont During deployment, project team members may often be required to work extra hours to meet aggressive timeframes or additional staff may be brought in temporarily to assist with large data entry effort As the system enabled and the project team validates that the application is the performing to expectations there may be times certain system functions seem suspect.

41 Transition to Performing Organization Successfully prepare the performing organization to assume responsibility for maintaining and supporting the implemented software system There should be two team that supporting an operational system and for the new development separately To enable this project team should provide support to the performing organization with a combination of technical documentation, training, and hands-on assistance to enable them t provide an acceptable level of operational support to the consumers

42 Software Maintenance W.C.Uduwela Department of Mathematics and Computer Science

43 Introduction General process of changing a system it has been delivered Change may be Simple change to correct cording errors Correct design error Correct Specification Accommodate new requirements Changes are implemented by Modifying existing system component Adding new component

44 Three types of S/W maintenance Maintenance to repair s/w faults (corrective maintenance) Coding error Cheap to correct Design error more expensive Requirement error most expensive Maintenance to adapt the s/w to a different operating environment (adaptive maintenance) H/W, operating system or support s/w changes Application system able to cope with these environment changes

45 Cont Maintenance to add to or modify the system s functionality (perfective maintenance) This need when the system requirements change in response to organization or business change. Require more effort than others Preventive maintenance Maintenance to increase the software maintainability or reliability to prevent problems in the future

46 Cont There is not a clear-cut distinction between those types of maintenance in practice Maintenance cost as a proportion of development cost vary from one application domain to another Embedded real time system maintenance cost = 4 * ( development cost of it) Cost effective to invest effort in designing and implementing a system to reduce maintenance costs

47 Nature of the Maintenance Phase S/W maintenance cost > ½ (the total s/w development cost) without software maintenance, it is impossible to change the problems within the product after its release Understanding the characteristics (size, age, structure) of software will facilitate maintaining the software more efficiently

48 Maintenance Process Models Different models are required that recognizes the requirement to build maintainability into the system There are four models 1. Boehm s model 2. Obstron s model 3. Iterative enhancement model 4. Reuse oriented model

49 Osborne s model It is concerned with the reality of the maintenance environment Technical problems that arise during maintenance are due to poor communication and control between management It recommends four strategies to address these issues 1. Maintenance requirements need to be included in the change specification. 2. A quality assurance program is required to establish quality assurance requirements. 3. A metrics needs to be developed in order to verify that the maintenance goals have been met. 4. Managers need to be provided with feedback through performance reviews.

50 Iterative Enhancement Model considers that changes made to the system during the software lifetime make up an iterative process This model was adapted from development to maintenance The model has three stages. First, the system has to be analyzed. Next, proposed modifications are classified. Finally the changes are implemented. not effective when the documentation of the system is not complete

51 Reuse Oriented Model It assumes that existing program components could be reused steps for the reuse model are identifying the parts of the old system which have the potential for reuse, fully understanding the system parts, modifying the old system parts according to the new requirements, integrating the modified parts into the new system

52 Software Maintenance Tasks Tasks involved in the software maintenance can be grouped into five categories 1. analysis, 2. design, 3. implementation, 4. testing, 5. documentation

53 Analysis consist of impact analysis, cost benefit analysis Impact analysis and cost benefit analysis consist of analyzing different implementation alternatives and comparing their effect on schedule, cost, and operation Isolation refers to the time spent trying to understand the problem or the proposed enhancements to the system

54 Design consists of redesigning the system based on the understanding of the necessary changes.

55 Implementation entails code and unit testing Unit testing is performed by the maintainer who has made the changes

56 Testing consists of integration, acceptance and regression testing Integration testing refers to the time spent on the integration of the components acceptance testing entails verifying that the changed system adheres to the user requirements Regression testing refers to the time spent ensuring that the changes did not affect the functionality of the other parts of the software

57 Documentation consists of system, user and other documentation System documentation refers to the time spent writing or revising the system description document User documentation entails writing or revising the user s guide and other formal documentation, excluding system documentation. Documentations are very important

58 Computer Aided Software Engineering Tools W.C.Uduwela Dep. Mathematics & Computer Science

59 Introduction In software development organization, the Error ridden, over technique used by each developer could vary budget, late Difficult to integrate system and data or to quickly construct new system Therefore Information System professional suggest to develop common technique standard methodology automated tools CASE

60 CASE: Computer Aided Software Engineering Software Engineers view: Make the life easier Organization view: Improve the quality of the systems developed Increase the speed with which systems are designed and developed Ease and improve the testing process through the use of automated checking Improve the integration of development activities via common methodologies Improve the quality and completeness of documentation Help standardize the development process Improve the management of the project Simplify program maintenance Promote reusability of modules and documentation Improve software portability across environments

61 Purpose of Using CASE To make much easier to perform a single design philosophy within an organization with many projects, systems, and people Because it manage the complexities of Information System and helps assure the quality system are constructed on time and within budget

62 Factors Influencing CASE adaption Expensive technology. Therefore large scale system builders are capable of investing Return on Investment. (Big benefits in the late stage of the SDLC- construction to maintanance) Although CASE supports to reduce the overall process, many users and managers are often discouraged by the long duration of planning, analysis, and design. So interest is low

63 Cont CASE tools Cannot easily share information between tools There is a difficulty provide CASE tools that support all activities of SDLC Adaption of CASE is highly related to the use of a formal systems development process Long term prediction for CASE is very good (Functionality Cost ) CASE tools helps for reengineering and reverse engineering process.

64 Why organizations reject CASE tools Organization does not have standard methodology for developing systems. The high cost of purchasing CASE The high cost of training people Low organizational confidence in the IS dept. to deliver high-quality systems on time and within budget Lack of methodology standards within the organization Viewing CASE as a threat to job security Lack of confidence in CASE products

65 Component of CASE

66 General types of CASE tools Diagramming tools Enable system process, data, and control structures to be represented graphically Computer display Help to prototype how system look and feel Report generator System analyst to identify data requirement and relationships Analysis tools Automatically check for incomplete, inconsistent or incorrect specifications in diagrams forms and reports

67 Cont Central repository Integrated storage of specification, diagrams, reports and project management information Document generator Helps to produce both technical and user documentation in standard format Code generator Enables the automatic generation of program and DB definition code directly from the design documents, diagrams, forms and reports

68 Summary of how CASE is commonly used within each SDLC phase

69 Traditional Vs CASE base development Traditional Emphasis on coding and Testing Paper-based specification Manual coding of programs Manual documenting Intensive software testing Maintain code and documentation

70 Cont CASE based Emphasis on analysis and design Rapid interactive prototyping Automated code generation Automated documentation generation Automated design checking Maintain design specifications

71 CASE diagramming tools

72 Cont

73 CASE Form and Report Generator Tools Two purposes: 1. To create, modify, and test prototypes of computer display forms and reports and 2. To identify which data items to display or 2. To identify which data items to display or collect for each form or report.

74 CASE Analysis Tools Types of analyses vary depending upon the organization's development methodology and the features of the CASE environment in use CASE analysis functions focus primarily on CASE analysis functions focus primarily on data structures and usage and on diagram completeness and consistency

75 CASE Repository integrated CASE tools have a common user interface and can share system representations without systems analysts having to convert between different formats used by different tools. two primary segments: the information repository and the data dictionary. information repository combines information about an organization's business information and its application portfolio and provides automated tools to manage and control access to the repository

76 Cont.. data dictionary is a computer software tool used to manage and control access to the information repository It provides facilities for recording, storing, and It provides facilities for recording, storing, and processing descriptions of an organization's significant data and data processing resources

77 Cont

78 Advantages of a CASE Repository two additional advantages of using a comprehensive CASE repository that relate to project management and reusability

79 CASE Documentation Generator Tools SDLC documentation includes textual descriptions of needs, solution trade-offs, diagrams of data and processes, prototype forms and reports, program specifications, and user documentation including application and reference materials Provide a method for managing the vast amounts of documentation created during SDLC

80 CASE code generation tools Produce high-level program source code from diagrams and forms used to represent the system

81 Emerging Development Tools Object-Oriented Development Tools Evolution and Future of Development Tools

The testing process. Component testing. System testing

The testing process. Component testing. System testing Software testing Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating system

More information

Software testing. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 23 Slide 1

Software testing. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 23 Slide 1 Software testing Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 23 Slide 1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles

More information

Software Engineering

Software Engineering Software Engineering Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) armahmood786@yahoo.com alphasecure@gmail.com alphapeeler.sf.net/pubkeys/pkey.htm http://alphapeeler.sourceforge.net pk.linkedin.com/in/armahmood

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

Lecture 15 Software Testing

Lecture 15 Software Testing Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered

More information

Part 5. Verification and Validation

Part 5. Verification and Validation Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this

More information

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process Verification and Validation Assuring that a software system meets a user s needs Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 19,20 Slide 1

More information

Chapter 8 Software Testing. Chapter 8 Software testing

Chapter 8 Software Testing. Chapter 8 Software testing Chapter 8 Software Testing 1 Topics covered Introduction to testing Stages for testing software system are: Development testing Release testing User testing Test-driven development as interleave approach.

More information

Chapter 8 Software Testing. Chapter 8 So-ware tes0ng

Chapter 8 Software Testing. Chapter 8 So-ware tes0ng Chapter 8 Software Testing 1 Topics covered ² Introduction to testing ² Stages for testing software system are: Development testing Release testing User testing ² Test-driven development as interleave

More information

Software Testing. Massimo Felici IF

Software Testing. Massimo Felici IF Software Testing Massimo Felici IF-3.46 0131 650 5899 mfelici@staffmail.ed.ac.uk What is Software Testing? Software Testing is the design and implementation of a special kind of software system: one that

More information

Software Testing. Software Testing. in the textbook. Chapter 8. Verification and Validation. Verification and Validation: Goals

Software Testing. Software Testing. in the textbook. Chapter 8. Verification and Validation. Verification and Validation: Goals Software Testing in the textbook Software Testing Chapter 8 Introduction (Verification and Validation) 8.1 Development testing 8.2 Test-driven development 8.3 Release testing 8.4 User testing 1 2 Verification

More information

Topic: Software Verification, Validation and Testing Software Engineering. Faculty of Computing Universiti Teknologi Malaysia

Topic: Software Verification, Validation and Testing Software Engineering. Faculty of Computing Universiti Teknologi Malaysia Topic: Software Verification, Validation and Testing Software Engineering Faculty of Computing Universiti Teknologi Malaysia 2016 Software Engineering 2 Recap on SDLC Phases & Artefacts Domain Analysis

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

Chapter 8 Software Testing

Chapter 8 Software Testing Chapter 8 Software Testing Chapter 8 Software Testing Slide 1 Topics covered Validation vs. defect testing Inspections and testing Development testing Unit testing Component testing System testing Test-driven

More information

Recap on SDLC Phases & Artefacts. Topic: Software Verification, Validation and Testing Software Engineering

Recap on SDLC Phases & Artefacts. Topic: Software Verification, Validation and Testing Software Engineering Topic: Software Verification, Validation and Testing Software Engineering Faculty of Computing UniversitiTeknologi Malaysia Recap on SDLC Phases & Artefacts Domain Analysis @ Business Process Requirement

More information

Software testing. Objectives. Contents

Software testing. Objectives. Contents 8 Software testing Objectives The objective of this chapter is to introduce software testing and software testing processes. When you have read the chapter, you will: understand the stages of testing from

More information

The requirements engineering process

The requirements engineering process 3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process

More information

Verification and Validation. Verification and validation

Verification and Validation. Verification and validation Verification and Validation Verification and validation Verification and Validation (V&V) is a whole life-cycle process. V&V has two objectives: Discovery of defects, Assessment of whether or not the system

More information

Chapter 9. Software Testing

Chapter 9. Software Testing Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of

More information

Verification and Validation

Verification and Validation Verification and Validation Assuring that a software system meets a user's needs Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 19 Slide 1 Objectives To introduce software verification

More information

Incremental development A.Y. 2018/2019

Incremental development A.Y. 2018/2019 Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with

More information

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013! Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are

More information

Sample Exam. Advanced Test Automation - Engineer

Sample Exam. Advanced Test Automation - Engineer Sample Exam Advanced Test Automation - Engineer Questions ASTQB Created - 2018 American Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

Objectives. Chapter 19. Verification vs. validation. Topics covered. Static and dynamic verification. The V&V process

Objectives. Chapter 19. Verification vs. validation. Topics covered. Static and dynamic verification. The V&V process Objectives Chapter 19 Verification and Validation Assuring that a software system meets a user s need are to introduce software verification and validation (V&V) and to discuss the distinction between

More information

Verification and Validation

Verification and Validation Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Verification and Validation 1 Verification and Validation

More information

Software Quality. Chapter What is Quality?

Software Quality. Chapter What is Quality? Chapter 1 Software Quality 1.1 What is Quality? The purpose of software quality analysis, or software quality engineering, is to produce acceptable products at acceptable cost, where cost includes calendar

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation 1 Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V & V To

More information

CSC 408F/CSC2105F Lecture Notes

CSC 408F/CSC2105F Lecture Notes CSC 408F/CSC2105F Lecture Notes These lecture notes are provided for the personal use of students taking CSC 408H/CSC 2105H in the Fall term 2004/2005 at the University of Toronto. Copying for purposes

More information

Lecture 9. Verification and Validation. Assuring that a software system meets a user's needs. Tutorial Questions. Verification and Validation

Lecture 9. Verification and Validation. Assuring that a software system meets a user's needs. Tutorial Questions. Verification and Validation ICT 381 SOFTWARE ENGINEERING Lance Fung School of Information Technology Lecture 9 Verification and Validation Ref: Sommerville I., Software Engineering, 6th Edition, Chapter 19 Slide 1 Slide 2 Tutorial

More information

Software Engineering

Software Engineering Software Engineering chap 4. Software Reuse 1 SuJin Choi, PhD. Sogang University Email: sujinchoi@sogang.ac.kr Slides modified, based on original slides by Ian Sommerville (Software Engineering 10 th Edition)

More information

Bridge Course On Software Testing

Bridge Course On Software Testing G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Accredited by NAAC with A Grade of UGC, Approved by AICTE, New Delhi Permanently Affiliated to JNTUA, Ananthapuramu (Recognized by UGC under 2(f) and 12(B)

More information

VO Software Engineering

VO Software Engineering Administrative Issues Univ.Prof. Dr. Peter Auer Chair for Information Technology Email: auer@unileoben.ac.at Lecture Thursday 10:15 11:45 Project Lab Montag 16:00 19:00 Literature Helmut Balzert, Lehrbuch

More information

Department of Electrical & Computer Engineering, University of Calgary. B.H. Far

Department of Electrical & Computer Engineering, University of Calgary. B.H. Far SENG 421: Software Metrics Software Test Metrics (Chapter 10) Department of Electrical & Computer Engineering, University of Calgary B.H. Far (far@ucalgary.ca) http://www.enel.ucalgary.ca/people/far/lectures/seng421/10/

More information

Subject : Computer Science. Paper : Software Quality Management. Module : CASE Tools

Subject : Computer Science. Paper : Software Quality Management. Module : CASE Tools e-pg Pathshala Subject : Computer Science Paper : Software Quality Management Module : CASE Tools Module No: Quadrant 1: CS/SQM/26 e-text An increasing variety of specialized computerized tools (actually

More information

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 22 Slide 1

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 22 Slide 1 Verification and Validation Slide 1 Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V

More information

ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale

ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale Total number points = 120 points Total number points to pass = 78 points Question Answer Explanation / Rationale Learning 1 A A is correct.

More information

Software processes. Objectives. Contents

Software processes. Objectives. Contents 2 Software processes Objectives The objective of this chapter is to introduce you to the idea of a software process a coherent set of activities for software production. When you have read this chapter

More information

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS QM 433 - Chapter 1 Database Fundamentals Version 10 th Ed Prepared by Dr Kamel Rouibah / Dept QM & IS www.cba.edu.kw/krouibah Dr K. Rouibah / dept QM & IS Chapter 1 (433) Database fundamentals 1 Objectives

More information

Software Engineering I. Chapters 8 & 9. SW Testing & Maintenance. Slide 1. 12/17/2017 SW Testing and Maintenance

Software Engineering I. Chapters 8 & 9. SW Testing & Maintenance. Slide 1. 12/17/2017 SW Testing and Maintenance Software Engineering I Chapters 8 & 9 SW Testing & Maintenance 12/17/2017 SW Testing and Maintenance Slide 1 Chapter 8 Software Testing 12/17/2017 SW Testing and Maintenance Slide 2 Program testing Testing

More information

Advanced Software Engineering: Software Testing

Advanced Software Engineering: Software Testing Advanced Software Engineering: Software Testing COMP 3705(L4) Sada Narayanappa Anneliese Andrews Thomas Thelin Carina Andersson Web: http://www.megadatasys.com Assisted with templates News & Project News

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

More information

PTC Employs Its Own Arbortext Software to Improve Delivery of PTC University Learning Content Materials

PTC Employs Its Own Arbortext Software to Improve Delivery of PTC University Learning Content Materials PTC Employs Its Own Arbortext Software to Improve Delivery of PTC University Learning Content Materials Produces Higher Quality Courseware, Faster Development Cycles for Global Training Content Produces

More information

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering?

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering? Q2a. What are the key challenges being faced by software engineering? Ans 2a. The key challenges facing software engineering are: 1. Coping with legacy systems, coping with increasing diversity and coping

More information

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be

More information

Topics in Software Testing

Topics in Software Testing Dependable Software Systems Topics in Software Testing Material drawn from [Beizer, Sommerville] Software Testing Software testing is a critical element of software quality assurance and represents the

More information

Introduction to Assurance

Introduction to Assurance Introduction to Assurance Overview Why assurance? Trust and assurance Life cycle and assurance April 1, 2015 Slide #1 Overview Trust Problems from lack of assurance Types of assurance Life cycle and assurance

More information

Aerospace Software Engineering

Aerospace Software Engineering 16.35 Aerospace Software Engineering Verification & Validation Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Would You...... trust a completely-automated nuclear power plant?... trust a completely-automated

More information

IT323 - Software Engineering 2 1

IT323 - Software Engineering 2 1 IT323 - Software Engineering 2 1 Explain how standards may be used to capture organizational wisdom about effective methods of software development. Suggest four types of knowledge that might be captured

More information

Object-oriented Design

Object-oriented Design Object-oriented Design Objectives To explain how a software design may be represented as a set of interacting objects that manage their own state and operations To describe the activities in the objectoriented

More information

Darshan Institute of Engineering & Technology Unit : 9

Darshan Institute of Engineering & Technology Unit : 9 1) Explain software testing strategy for conventional software architecture. Draw the spiral diagram showing testing strategies with phases of software development. Software Testing: Once source code has

More information

Write perfect C code to solve the three problems below.

Write perfect C code to solve the three problems below. Fall 2017 CSCI 4963/6963 Week 12 David Goldschmidt goldschmidt@gmail.com Office: Amos Eaton 115 Office hours: Mon/Thu 1:00-1:50PM; Wed 1:00-2:50PM Write perfect C code to solve the three problems below.

More information

UNIT-I Introduction of Object Oriented Modeling

UNIT-I Introduction of Object Oriented Modeling UNIT-I Introduction of Object Oriented Modeling - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,

More information

Object Oriented Programming

Object Oriented Programming Binnur Kurt kurt@ce.itu.edu.tr Istanbul Technical University Computer Engineering Department 1 Version 0.1.2 About the Lecturer BSc İTÜ, Computer Engineering Department, 1995 MSc İTÜ, Computer Engineering

More information

FAQ: Database System Development Life Cycle

FAQ: Database System Development Life Cycle Question 1: Why study database management system (DBMS) designs? Answer 1: Understanding and designing databases is truly an evolutionary learning process. There is not a right way or a wrong way to develop

More information

Questionnaire Specification Database for Blaise Surveys

Questionnaire Specification Database for Blaise Surveys Questionnaire Specification Database for Blaise Surveys Lilia Filippenko, Valentina Grouverman, Joseph Nofziger, RTI International 1 Introduction Developing large scale, complex Computer Assisted Interview

More information

Software Testing. Lecturer: Sebastian Coope Ashton Building, Room G.18

Software Testing. Lecturer: Sebastian Coope Ashton Building, Room G.18 Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Software Testing 1 Defect Testing Defect testing involves

More information

Software Testing CS 408

Software Testing CS 408 Software Testing CS 408 1/09/18 Course Webpage: http://www.cs.purdue.edu/homes/suresh/408-spring2018 1 The Course Understand testing in the context of an Agile software development methodology - Detail

More information

Verification and Validation

Verification and Validation Steven Zeil February 13, 2013 Contents 1 The Process 3 1 2 Non-Testing V&V 7 2.1 Code Review....... 8 2.2 Mathematically-based verification......................... 19 2.3 Static analysis tools... 23 2.4

More information

Verification and Validation

Verification and Validation Steven Zeil February 13, 2013 Contents 1 The Process 2 2 Non-Testing V&V 3 2.1 Code Review........... 4 2.2 Mathematically-based verification.................................. 8 2.3 Static analysis tools.......

More information

Building a New Rational Web Site with Rational Suite

Building a New Rational Web Site with Rational Suite Building a New Rational Web Site with Rational Suite by Christina Howe Director of Internet Services Rational Software In April of last year, Rational Software determined that its Web site no longer measured

More information

Testing Objectives. Successful testing: discovers previously unknown errors

Testing Objectives. Successful testing: discovers previously unknown errors Testing Objectives Informal view: Testing: a process of executing software with the intent of finding errors Good testing: a high probability of finding as-yetundiscovered errors Successful testing: discovers

More information

FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. DEVELOPER SPECIFIER TESTER

FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. DEVELOPER SPECIFIER TESTER TELECOM AVIONIC SPACE AUTOMOTIVE SEMICONDUCTOR IOT MEDICAL SPECIFIER DEVELOPER FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. TESTER PragmaDev Studio is a

More information

QA Best Practices: A training that cultivates skills for delivering quality systems

QA Best Practices: A training that cultivates skills for delivering quality systems QA Best Practices: A training that cultivates skills for delivering quality systems Dixie Neilson QA Supervisor Lynn Worm QA Supervisor Maheen Imam QA Analyst Information Technology for Minnesota Government

More information

Verification and Validation

Verification and Validation Chapter 5 Verification and Validation Chapter Revision History Revision 0 Revision 1 Revision 2 Revision 3 Revision 4 original 94/03/23 by Fred Popowich modified 94/11/09 by Fred Popowich reorganization

More information

EmpAnADa Project. Christian Lange. June 4 th, Eindhoven University of Technology, The Netherlands.

EmpAnADa Project. Christian Lange. June 4 th, Eindhoven University of Technology, The Netherlands. EmpAnADa Project C.F.J.Lange@tue.nl June 4 th, 2004 Eindhoven University of Technology, The Netherlands Outline EmpAnADa introduction Part I Completeness and consistency in detail Part II Background UML

More information

SOFTWARE PRODUCT QUALITY SOFTWARE ENGINEERING SOFTWARE QUALITY SOFTWARE QUALITIES - PRODUCT AND PROCESS SOFTWARE QUALITY - QUALITY COMPONENTS

SOFTWARE PRODUCT QUALITY SOFTWARE ENGINEERING SOFTWARE QUALITY SOFTWARE QUALITIES - PRODUCT AND PROCESS SOFTWARE QUALITY - QUALITY COMPONENTS SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - Good software properties SOFTWARE ENGINEERING SOFTWARE QUALITY Today we talk about quality - but what is quality? Suitable Fulfills

More information

XVIII. Software Testing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

XVIII. Software Testing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini XVIII. Software Testing Laurea Triennale in Informatica Corso di Objective General discussion on Testing Testing Phases Approaches to testing Structural testing Functional testing Testing non functional

More information

Major Topics. Prototyping and Rapid Application Development

Major Topics. Prototyping and Rapid Application Development Prototyping Major Topics Prototyping concepts Types of prototypes Prototyping and the systems development life cycle Prototype development guidelines Prototype evaluation Rapid application development

More information

Chapter 8. Achmad Benny Mutiara

Chapter 8. Achmad Benny Mutiara Chapter 8 SOFTWARE-TESTING STRATEGIES Achmad Benny Mutiara amutiara@staff.gunadarma.ac.id 8.1 STATIC-TESTING STRATEGIES Static testing is the systematic examination of a program structure for the purpose

More information

Software Testing and Maintenance

Software Testing and Maintenance Software Testing and Maintenance Testing Strategies Black Box Testing, also known as Behavioral Testing, is a software testing method in which the internal structure/ design/ implementation of the item

More information

Specifying and Prototyping

Specifying and Prototyping Contents Specifying and Prototyping M. EVREN KIYMAÇ 2008639030 What is Specifying? Gathering Specifications Specifying Approach & Waterfall Model What is Prototyping? Uses of Prototypes Prototyping Process

More information

Analytical Evaluation

Analytical Evaluation Analytical Evaluation November 7, 2016 1 Questions? 2 Overview of Today s Lecture Analytical Evaluation Inspections Performance modelling 3 Analytical Evaluations Evaluations without involving users 4

More information

ITM DEVELOPMENT (ITMD)

ITM DEVELOPMENT (ITMD) ITM Development (ITMD) 1 ITM DEVELOPMENT (ITMD) ITMD 361 Fundamentals of Web Development This course will cover the creation of Web pages and sites using HTML, CSS, Javascript, jquery, and graphical applications

More information

ΗΜΥ 317 Τεχνολογία Υπολογισμού

ΗΜΥ 317 Τεχνολογία Υπολογισμού ΗΜΥ 317 Τεχνολογία Υπολογισμού Εαρινό Εξάμηνο 2008 ΙΑΛΕΞΕΙΣ 18-19: Έλεγχος και Πιστοποίηση Λειτουργίας ΧΑΡΗΣ ΘΕΟΧΑΡΙ ΗΣ Λέκτορας ΗΜΜΥ (ttheocharides@ucy.ac.cy) [Προσαρμογή από Ian Sommerville, Software

More information

Three General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams

Three General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams Three General Principles of QA COMP 4004 Fall 2008 Notes Adapted from Dr. A. Williams Software Quality Assurance Lec2 1 Three General Principles of QA Know what you are doing. Know what you should be doing.

More information

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do? Topics 1) What is trying to do? Manifesto & XP Chapter 3.1-3.3 2) How to choose plan-driven vs? 3) What practices go into (XP) development? 4) How to write tests while writing new code? CMPT 276 Dr. B.

More information

Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation

Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation Yan Shi SE 2730 Lecture Notes Verification and Validation Verification: Are

More information

What is Software Architecture

What is Software Architecture What is Software Architecture Is this diagram an architecture? (ATM Software) Control Card Interface Cash Dispenser Keyboard Interface What are ambiguities in the previous diagram? Nature of the elements

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 8 Agile Methodologies: XP 1 extreme Programming (XP) Developed by Beck in 1996. The first authentic XP book appeared in 1999, with a revised

More information

Chapter 18. Software Reuse

Chapter 18. Software Reuse Chapter 18 Software Reuse Ian Sommerville Lutz Prechelt Ian Sommerville 2004, Software Engineering, 7th edition, prechelt@inf.fu-berlin.de 1 Objectives To explain the benefits of software reuse and some

More information

Topic 01. Software Engineering, Web Engineering, agile methodologies.

Topic 01. Software Engineering, Web Engineering, agile methodologies. Topic 01 Software Engineering, Web Engineering, agile methodologies. 1 What is Software Engineering? 2 1 Classic Software Engineering The IEEE definition: Software Engineering is the application of a disciplined,

More information

INTRODUCTION TO SOFTWARE ENGINEERING

INTRODUCTION TO SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING Introduction to Software Testing d_sinnig@cs.concordia.ca Department for Computer Science and Software Engineering What is software testing? Software testing consists

More information

How Cisco IT Improved Development Processes with a New Operating Model

How Cisco IT Improved Development Processes with a New Operating Model How Cisco IT Improved Development Processes with a New Operating Model New way to manage IT investments supports innovation, improved architecture, and stronger process standards for Cisco IT By Patrick

More information

Gradational conception in Cleanroom Software Development

Gradational conception in Cleanroom Software Development Gradational conception in Cleanroom Software Development Anshu Sharma 1 and Shilpa Sharma 2 1 DAV Institute of Engineering and Technology, Kabir Nagar, Jalandhar, India 2 Lovely Professional University,

More information

Meltem Özturan

Meltem Özturan Meltem Özturan www.mis.boun.edu.tr/ozturan/samd 1 1 The systems development life cycle (SDLC) provides an overall framework for the process of system development, but the developer relies on many more

More information

Rapid Software Testing Guide to Making Good Bug Reports

Rapid Software Testing Guide to Making Good Bug Reports Rapid Software Testing Guide to Making Good Bug Reports By James Bach, Satisfice, Inc. v.1.0 Bug reporting is a very important part of testing. The bug report, whether oral or written, is the single most

More information

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS 1. Explain iterative waterfall and spiral model for software life cycle and various activities

More information

Terminology. There are many different types of errors and different ways how we can deal with them.

Terminology. There are many different types of errors and different ways how we can deal with them. Testing Terminology Reliability: The measure of success with which the observed behavior of a system confirms to some specification of its behavior. Failure: Any deviation of the observed behavior from

More information

Systems Analysis & Design

Systems Analysis & Design Systems Analysis & Design Dr. Ahmed Lawgali Ahmed.lawgali@uob.edu.ly Slide 1 Systems Analysis & Design Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition

More information

Sample Exam. Advanced Test Automation Engineer

Sample Exam. Advanced Test Automation Engineer Sample Exam Advanced Test Automation Engineer Answer Table ASTQB Created - 08 American Stware Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT. Software Engineering 2

THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT. Software Engineering 2 General Comments THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT Software Engineering 2 The pass rate was 40% representing the lowest mark

More information

3Lesson 3: Web Project Management Fundamentals Objectives

3Lesson 3: Web Project Management Fundamentals Objectives 3Lesson 3: Web Project Management Fundamentals Objectives By the end of this lesson, you will be able to: 1.1.11: Determine site project implementation factors (includes stakeholder input, time frame,

More information

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing. Overview CS 619 Introduction to OO Design and Development ing! Preliminaries! All sorts of test techniques! Comparison of test techniques! Software reliability Fall 2012! Main issues: There are a great

More information

Ingegneria del Software II academic year: Course Web-site: [www.di.univaq.it/ingegneria2/]

Ingegneria del Software II academic year: Course Web-site: [www.di.univaq.it/ingegneria2/] Course: Ingegneria del Software II academic year: 2004-2005 Course Web-site: [www.di.univaq.it/ingegneria2/] Verification and Validation Lecturer: Henry Muccini and Vittorio Cortellessa Computer Science

More information

Software LEIC/LETI. Lecture 18

Software LEIC/LETI. Lecture 18 Software Engineering @ LEIC/LETI Lecture 18 Last Lecture Web presentation patterns Model View Controller Template View Page Controller Front Controller Transform View Two Step View Presentation logic Services

More information

User interface design

User interface design User interface design Objectives To suggest some general design principles for user interface design To explain different interaction styles and their use To explain when to use graphical and textual information

More information

Agilent E7478A GPRS Drive Test System

Agilent E7478A GPRS Drive Test System Agilent E7478A GPRS Drive Test System Product Overview Quickly deploy your GPRS networks and manage multiformat environments Our drive test solution doesn t just uncover problems on your GPRS network it

More information

Measuring VDI Fitness and User Experience Technical White Paper

Measuring VDI Fitness and User Experience Technical White Paper Measuring VDI Fitness and User Experience Technical White Paper 3600 Mansell Road Suite 200 Alpharetta, GA 30022 866.914.9665 main 678.397.0339 fax info@liquidwarelabs.com www.liquidwarelabs.com Table

More information

SYSPRO s Fluid Interface Design

SYSPRO s Fluid Interface Design SYSPRO s Fluid Interface Design Introduction The world of computer-user interaction has come a long way since the beginning of the Graphical User Interface, but still most application interfaces are not

More information

Software Testing. Software Testing

Software Testing. Software Testing Software Testing Software Testing Error: mistake made by the programmer/ developer Fault: a incorrect piece of code/document (i.e., bug) Failure: result of a fault Goal of software testing: Cause failures

More information