Purpose and Difficulty of Software Testing

Similar documents
Software Testing Introduction

BCS3323 Software Testing and Maintenance. Overview of Testing

Software Eng. 2F03: Logic For Software Engineering

SWEN 256 Software Process & Project Management

Distributed Systems Programming (F21DS1) Formal Methods for Distributed Systems

Human-Computer Interaction IS 4300

Some caveats Summary

Game Production: testing

I m Michael Bolton. Testers: Get Out of the Quality Assurance Business! Updates. Let s Start With a Simple Question: The Quality Answer

8.2.1 Therac-25 Radiation Overdoses

How machines learn in healthcare

Workshop on Intelligent System and Applications (ISA 17)

Providing Public Acceptance: Rosatom s Approach & Experience

Software Verification and Validation. Prof. Lionel Briand Ph.D., IEEE Fellow

The Freelance Surge Is The Industrial Revolution Of Our Time

Legal Department Cost Savings Initiatives that Make an Impact. March 9, 2011

Training. Education CALENDAR FEDEGARI TECH CENTERS DM#407036

Requirements Gathering using Object- Oriented Models

BONUS LESSON How To Set Goals With Kindle

Biomedical Equipment Technician

Ethics. Paul Jackson. School of Informatics University of Edinburgh

Software processes, quality, and standards Static analysis

Dependable Computer Systems

Space Launch System Design: A Statistical Engineering Case Study

GAME AUDIENCE DASHBOARD MAIN FEATURES

Chapter 8: Verification & Validation

Lecture 9: Estimation and Prioritization" Project Planning"

EECS 579 Fall What is Testing?

Analysis of Software Artifacts

PTB TWG-ICS- Session 3: Specific domains of respectful newborn care: The role of Civil Registration and Vital Statistics Systems

Making your ISO Flow Flawless Establishing Confidence in Verification Tools

Factors influencing the adoption of building information modeling in the AEC Industry

RAPID FIELDING A Path for Emerging Concept and Capability Prototyping

Software Engineering

Pilot Action on Partnerships to Pilot Interregional Innovation Projects

Fault Management Architectures and the Challenges of Providing Software Assurance

Connected and Autonomous Technology Evaluation Center (CAVTEC) Overview. TennSMART Spring Meeting April 9 th, 2019

Focusing Software Education on Engineering

Computer Science: Who Cares? Computer Science: It Matters. Computer Science: Disciplines

Promoting citizen-based services through local cultural partnerships

Formally Verified Endgame Tables

System of Systems Software Assurance

POWER II PERSONAL. 30 day program for unlimited success

A DUMMIES GUIDE TO GROUND FAULT PROTECTION

Model Based Design Of Medical Devices

Why behavioural economics is essential for the success of the implementation of a wearable or health app. Behavioural Research Unit

Computer Science: Disciplines. What is Software Engineering and why does it matter? Software Disasters

WFEO STANDING COMMITTEE ON ENGINEERING FOR INNOVATIVE TECHNOLOGY (WFEO-CEIT) STRATEGIC PLAN ( )

A Call for Boldness. President Kennedy September 1962

INTERNATIONAL OIL AND GAS CONFERENCE IN CHINA OPENING PLENARY SESSION OPPORTUNITIES AND CHALLENGES IN A VOLATILE ENVIRONMENT, BEIJING, JUNE 2010

MODULE 3 CHOOSING A NAME FOR YOUR BRAND

Signal Generator for Noise Search Tester to Improve Noise-measurement and Noise-identification Skills

The Royal Library s Annual Report 2014 The National Library

Overview of Design Methodology. A Few Points Before We Start 11/4/2012. All About Handling The Complexity. Lecture 1. Put things into perspective

Additive Manufacturing: A New Frontier for Simulation

Analysis on Digital Radio Service Deployment in Thailand TIME Consulting, 13 December 2017

WB2306 The Human Controller

Digital Logic Circuits

Mr. Howard Strahan Project VULCAN

Welcome to. Please PRINT CLEARLY and fill out the form COMPLETELY. Occupation Home phone Work phone Cell phone

DreamCatcher Agile Studio: Product Brochure

Vibration Tests: a Brief Historical Background

Building Confidence: Pay Attention to the Positives. Make a list of everything positive you have done in your life.

EPG. by Chris C. Kleronomos

Kevin Chan, Blue Tongue Entertainment

Dan Dvorak and Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology. Jonathan Wilmot NASA Goddard Space Flight Center

Innovation for Defence Excellence and Security (IDEaS)

Detailed Instructions for Success

Skyworker: Robotics for Space Assembly, Inspection and Maintenance

Google SEO Optimization

(Beijing, China,25 May2017)

Why is CRVS so important?

Nancy G. Leveson and Clark S. Turner, An Investigation of the Therac-25 Accidents. Computer 26(7), pp , Jul Presented by Dror Feitelson

Electrical Equipment Condition Assessment

Electronic Circuit Breaker ECONOMY SMART. - Number of available output channels: 2 / 4 / 8

Introduction to the X PRIZE Foundation

Electronic Circuit Breaker BASIC SMART. - Number of available output channels: 2 / 4 / 8

How I Learned to Stop Worrying and Dismantle the Bomb

Designing an Obstacle Game to Motivate Physical Activity among Teens. Shannon Parker Summer 2010 NSF Grant Award No. CNS

Technology Readiness for the Smart Grid

FINC915 Venture Lab Participating Firms: FALL 2010

What You Need to Learn

Electronic Circuit Breaker ECONOMY REMOTE

Michael P. Ridley, Director. NYSTAR High Performance Computing Program

Dream Chaser Frequently Asked Questions

Guide for lived experience speakers: preparing for an interview or speech

Center for Nuclear Science and Technology Information Speakers Bureau Workshop

Communication and social aspects in D&WM program

Automated Test Summit 2005 Keynote

Service-Oriented Software Engineering - SOSE (Academic Year 2015/2016)

In late 2011, The International Standards

UNITED NATIONS EDUCATIONAL, SCIENTIFIC AND CULTURAL ORGANIZATION

The Future of the US Space Program and Educating the Next Generation Workforce. IEEE Rock River Valley Section

White Paper. Solving Extreme Dynamic Range Issues for Car Radios Capturing Adjacent Field Signals to Improve FM Radio Design and Testing.

Chitika Insights The Value of Google Result Positioning

ACCELERATING THE FUTURE OF SEMICONDUCTORS

How to implement SRS test without data measured?

Research in Advanced Performance Technology and Educational Readiness

Comparison: On-Device and Drive Test Measurements

Work Session on the Communication of Statistics (Geneva, Switzerland, June 2012)

Transcription:

Purpose and Difficulty of Software Testing T-76.5613 Software Testing and Quality Assurance 30.10.2015 Juha Itkonen Department of Computer Science

Is software quality a problem? 2

Famous examples of software quality 1985-1987 Therac-25 medical accelerator A radiation therapy device malfunctions and delivers lethal radiation doses at several medical facilities Bottom line: 5 deaths 1996 Arianne 5 rocket flight crash Conversion of rocket velocity caused an overflow, which resulted in a computer shutdown that and eventually led in destruction of the whole flight The same software was used in Arianne 4, but due to smaller rocket engines such high values that could have caused an overflow were not possible Bottom line: rocket $8 billion, payload $500 million Recent analysis by IEEE Spectrum: Lessons From a Decade of IT Failures http://spectrum.ieee.org/static/lessons-from-a-decade-of-it-failures 3

Is software testing needed, and why? 4

Someone will always test your software Customer or User Competitor A government inspector, an industrial analyst, an insurance inspector A newspaper or TV journalist Channel reseller Systems integrator and find Potential partner, subcontractor, employee the nastiest Software tester bugs 5

Someone? Who Tested My Software? Testing is not an action conducted only by specialized testers. Testing is performed by people in different roles like developers, managers, and consultants. Testing by individuals with customer contact and domain expertise is highly valued validation method. Mäntylä, M. V., Itkonen, J., Iivonen, J., "Who Tested My Software? Testing as an Organizationally Cross-Cutting Activity ", Software Quality Journal, vol. 20, issue 1, January 2012, pp. 145-172. 6

Testing is needed Because all software has faults Why? Impossible to prevent all errors in software development Often it is more effective to test than to write perfect code We need testing to reduce risk Find and fix the most important faults before the software is released to operation Failures that occur during live operation are usually more expensive to deal with than failures that occur during testing Higher the risks, more we need to test Level of confidence No risk no test 7

What is Software Testing? 8

Definition of Software Testing (Glenford Myers 1979) Testing is the execution of programs with the intent of finding defects. 9

Definition of Software Testing (Ilene Burnstein 2002) Testing is a the process of exercising a software component using a selected set of test cases, with the intent of revealing defects and evaluating quality. (Testing can be described as a process used for revealing defects in software, and for establishing that the software has attained a specified degree of quality with respect to selected attributes.) 10

Definition of Software Testing (Cem Kaner, 2004) Software testing is a technical investigation of a product, i.e., an empirical search for quality-related information of value to a project s stakeholders 11

Testing is an integral part of development Often, testing is seen as some separate, last phase of software development process That can be outsourced to separate testing team That only deeds to be done just before the release if there is any time Benefits of independent testing are questionable Testing can not be separated from rest of the software development Testing is much more than the final acceptance or gate keeper phase Testing has to be involved from the beginning Testers can, and should, contribute in each phase of the software development life-cycle Testing is not a phase 12

Lecture Assignment: The Challenges of Software Testing Form groups of 3-4 Study briefly the main messages of the given article, discuss in the group Whittaker, James A. 2000. What is Software Testing? And Why is it so Hard? IEEE Software, vol. 17, no. 1: 70-79. Summarize the key messages of the article and what are your own views on the topic 13

Major Challenges Testers Need to Overcome How to select what is and what is not tested Prioritization How to bring knowledge into testing Domain area knowledge Knowledge of the usage of the system How to manage testing work Assessing progress When you are done How to be a useful part of the development organization What is useful quality information How to effectively communicate and collaborate Timely early and often 14