Introduction to Software Testing Chapter 9.3 Challenges in Testing Software Test Criteria and the Future of Testing Paul Ammann & Jeff Offutt

Slides:



Advertisements
Similar presentations
Ch.1 Introduction to Software Engineering The Evolution 1.1 The Evolving Role of Software 1/15 In the early days: User Computer Software = Place a sequence.
Advertisements

Course in software testing - from bachelor to master, from Skopje to Novi Sad (and beyond) Anastas Mishev Katerina Zdravkova Sashko Ristov Hristina Mihajloska.
Introduction to Software Testing Chapter 1
Introduction to Software Testing Chapter 1 Model-Driven Test Design Paul Ammann & Jeff Offutt
Model-Driven Test Design Based on the book by Paul Ammann & Jeff Offutt Jeff Offutt Professor, Software Engineering.
Introduction to Software Testing Chapter 1 Paul Ammann & Jeff Offutt SUMMARY OF PARTS 1 AND 2 FROM LAST WEEK.
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
Introduction to Software Testing Chapter 9.2 Challenges in Testing Software – Software Testability Paul Ammann & Jeff Offutt
Introduction to Software Testing (2nd edition) Chapter 5 Criteria-Based Test Design Paul Ammann & Jeff Offutt
Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department of Defense © 1998 by Carnegie Mellon.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Open Workshop on e-Infrastructures, Helsinki October 4 – 5, 2006 Roadmap Parallel Session on last chapter of e-IRG Roadmap: Crossing the Boundaries of.
ENGIN Introduction to Computer Engineering.
Frequently asked questions about software engineering
Lecture 1.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
The Many Contexts of Software Architecture
1 Software Engineering CEN5035 copyright © 1996, 2001 R.S. Pressman & Associates, Inc.
Chapter 1- Introduction Lecture 1 Ready, fire, aim (the fast approach to software development). Ready, aim, aim, aim, aim... (the slow approach to software.
On the Testing Maturity of Software Producing Organizations Mats Grindal Jeff Offutt Jonas Mellin.
Introduction to Software Testing Chapter 9.3 Challenges in Testing Software Test Criteria and the Future of Testing Paul Ammann & Jeff Offutt
Model-Driven Test Design Jeff Offutt Professor, Software Engineering George Mason University Fairfax, VA USA
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
Testing : A Roadmap Mary Jean Harrold Georgia Institute of Technology Presented by : Navpreet Bawa.
Operations Research Lecturer Eng. Ahmed H. Abo absa 2 nd Semester ITGD4207 University of Palestine.
Sri Lanka Institute of Information Technology Software Engineering Project – I Clone of Rally GROUP NO : WD-SEP-002 | PROJECT NO :25 PROJECT : CLONE OF.
InfoSecurity Conference 2011 The Challenges of Cloud Computing John R. Robles John R. Robles and Associates
Company Presentation September Our Mission: VideoApp distributes selected brands, only top quality level, in the following sectors: Traffic technology.
Introduction to Software Testing Chapter 9.1 Challenges in Testing Software – Testing for Emergent Properties: Safety and Security Paul Ammann & Jeff Offutt.
Software Requirements Engineering CSE 305 Lecture-2.
What is Software?  Computer programs and associated documentation such as requirements, design models and user manuals  Software products may be developed.
Event Management & ITIL V3
How eNet4S can benefit your project? eNet4S Software Solution Business Team Chief Technology Officer July 11, 2006.
Introduction to Software Testing Chapter 8.1 Building Testing Tools –Instrumentation Paul Ammann & Jeff Offutt
INFS614, Dr. Brodsky, GMU1 Database Management Systems INFS 614 Instructor: Professor Alex Brodsky
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Introduction to Software Testing Chapter 9.1 Challenges in Testing Software – Testing for Emergent Properties: Safety and Security.
International Telecommunication Union Workshop on Next Generation Networks: What, When & How? Geneva, 9-10 July 2003 NGN Research in China Jiang lin-tao.
An Introduction to Software Engineering (Chapter 1 from the textbook)
Introduction to Software Testing (2nd edition) Chapter 4 Putting Testing First Paul Ammann & Jeff Offutt August.
IT323 - Software Engineering 2 1 Tutorial 4.  List the main benefits of software reuse 2.
Introduction to Software Testing Model-Driven Test Design and Coverage testing Paul Ammann & Jeff Offutt Update.
Software Testing and Quality Assurance Practical Considerations (1) 1.
Introduction to Software Testing (2nd edition) Chapter 5 Criteria-Based Test Design Paul Ammann & Jeff Offutt
CS220:INTRODUCTION TO SOFTWARE ENGINEERING CH1 : INTRODUCTION 1.
Learn ETL tools for Accurate loading of data. ETL testing is very interesting and informative among the software testing tools. ETL is a process to testing.
CompSci 280 S Introduction to Software Development
Paul Ammann & Jeff Offutt
Paul Ammann & Jeff Offutt
Paul Ammann & Jeff Offutt
Chapter 1- Introduction
Generating Automated Tests from Behavior Models
Chapter 1- Introduction
Paul Ammann & Jeff Offutt
Introducing Novell IPv6 Stack
Frequently asked questions about software engineering
Software Testing and Maintenance Introduction
Paul Ammann & Jeff Offutt
Introduction to Software Testing
Test Driven Lasse Koskela Chapter 9: Acceptance TDD Explained
Software Usability and Design
Software Testing and Maintenance Maintenance and Evolution Overview
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
JOINED AT THE HIP: DEVSECOPS AND CLOUD-BASED ASSETS
Managing the Test Process CS 4501 / 6501 Software Testing
Introduction to Software Testing Chapter 8.5 Logic Coverage for FSMs
Paul Ammann & Jeff Offutt
Presentation transcript:

Introduction to Software Testing Chapter 9.3 Challenges in Testing Software Test Criteria and the Future of Testing Paul Ammann & Jeff Offutt

2 Chapter 9 Outline 1.Testing for Emergent Properties: Safety and Security 2.Software Testability 3.Test Criteria and the Future of Software Testing Test Criteria and the Future of Software Testing Introduction to Software Testing (Ch 9.2) © Ammann & Offutt

3 Testing in the 1980s and 1990s Software engineering was very different – Low quality software was normal and expected – The cost of building better software outweighed the benefits Software was smaller – Most software was bundled, shrink-wrapped, contracted – Industry became dominated by one monopolistic vendor About a dozen books – A few broad survey books, one or two on testing, design, requirements, etc In the early 1980s, one semester course was enough to learn most of the knowledge in software engineering Safety critical software was a tiny part of the industry Testing, especially high-end testing, simply was not very important Introduction to Software Testing (Ch 9.2) © Ammann & Offutt

4 Cost of Late Testing Requirements Test Planning Design Review Development Unit Testing Functional Testing System Testing Production Cost per Fault 1X 5X10X50X $6K$13K$20K$101K$363K$252K Current State Fault Discovery 20%13%6%20%5%36% 10% Fault Origination 40%50% Planning & Requirements DesignDevelopmentTestingUAT Deploy to Production Source – Software Engineering Institute; Carnegie Mellon University; Handbook CMU/SEI-96-HB-002; page Introduction to Software Testing (Ch 9.2) © Ammann & Offutt

5 Testing in the 21st Century The field has dramatically changed Today’s software market : – is much bigger – is more competitive – has more users – used in more places The web offers a new deployment platform – Very competitive and very available to more users Enterprise applications means bigger programs and more users Embedded software is now ubiquitous … check your pockets ! Paradoxically, free software increases our expectations ! Security has now become essential … Introduction to Software Testing (Ch 9.2) © Ammann & Offutt

6 Problems Leading to Security Vulnerabilities 1980 : Security was mostly about math – Cryptography 1990 : Security was mostly about protecting the database 2000 : Security was mostly about bullet-proofing the network Today : Most security vulnerabilities are a result of faults in the software Software testing is fast becoming essential to an essential problem in the software industry Software Security Introduction to Software Testing (Ch 9.2) © Ammann & Offutt

7 Testing Research 1980s : Criteria and algorithms for unit testing 1990s : Test criteria for other technologies and “levels” 2000s : More automation for test criteria and more technologies 2010s : Practical solutions to industry problems A major point of this book is that we have enough criteria Test criteria are uniform across different software artifacts – A graph is a graph is a graph … – 36 criteria on 4 structures So are we done with testing research ? – Can I retire now … Introduction to Software Testing (Ch 9.2) © Ammann & Offutt

8 Testing Research – Are We Done ? We need more work on how to test modern technologies – The ideas in chapter 7 are still developing – OO, web, GUIs, real-time, embedded, … – How to create the structures and how to adapt the criteria ? Which criteria to use when ? – Cost / benefit tradeoffs among criteria are not known Which structure should be used when ? Technology transition to industry – How best to automate the testing research ideas ? – How to insert new testing techniques into the development process ? – How to effectively and efficiently balance research theory with practical needs ? No ! Introduction to Software Testing (Ch 9.2) © Ammann & Offutt

9 Testing Research – Going Forward Automatic test data generation is one of the hardest problems – But also the core of testing – getting values to satisfy criteria – Research started in the 1970s – major advances in the 1980s, 1990s and 2000s – Still very little help from industry-quality tools Testability, reliability, and other related areas are wide open We know a lot about testing new software – much less about regression testing or testing evolving software – Which happens to account for most of the effort in industry … Research in software testing is increasing – Currently lots of funding in Europe and Asia – from both government and industry sources – New, well attended venues (eg ICST) Introduction to Software Testing (Ch 9.2) © Ammann & Offutt

Future of Software Testing 1. Increased specialization in testing teams will lead to more efficient and effective testing 2. Testing and QA teams will have more technical expertise 3. Developers will have more knowledge about testing and motivation to test better 4. Agile processes puts testing first—putting pressure on both testers and developers to test better 5. Testing and security are starting to merge 10 Introduction to Software Testing (Ch 9.2) © Ammann & Offutt

11 Summary We have entered a golden age for software testing With more attention from – Industry – Research – Education … Finally we have the knowledge, resources, and motivation to make testing a technical discipline Introduction to Software Testing (Ch 9.2) © Ammann & Offutt