Software Testing #IRL Agenda Why Software Testing Software Testing Principles – Exhaustive testing is impossible – Early Testing.

Slides:



Advertisements
Similar presentations
Software Testing. Quality is Hard to Pin Down Concise, clear definition is elusive Not easily quantifiable Many things to many people You'll know it when.
Advertisements

Test process essentials Riitta Viitamäki,
(c) Dr. Wolfgang J. Schneider GENERAL TESTING PRINCIPLES Dr. Wolfgang J. Schneider 2003 – 2006.
Lecture 1: Introduction to Software Engineering CSC301 – Winter 2011
Software Quality Seung Yang CS 525 Software Engineering II Dr. Sheldon X. Liang.
Software measurement Ronan Fitzpatrick.
Risk Analysis for Testing Based on Chapter 9 of Text Based on the article “ A Test Manager’s Guide to Risks Analysis and Management” by Rex Black published.
軟工一 吳彥諄. * Scrum overview * What happened to the software * What is the quality attribute * ACRUM * Q&A.
A Embedded software component quality framework Fernando Ferreira de Carvalho Advisor: Silvio Romero de Lemos Meira Informatics Center - Federal University.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CS 325: Software Engineering March 26, 2015 Software Quality Assurance Software Metrics Defect Injection Software Quality Lifecycle Measuring Progress.
Non-Functional Requirements
Chapter#7.  Part 1: Quality Management ◦ ƒ Understand the definition of quality and the different methodologies to provide quality ◦ ƒ Know quality management.
Software Testing Prasad G.
Introduction to Software Testing
Non-functional requirements
Software Quality SEII-Lecture 15
Software Project Management Fifth Edition
COURSE TITLE: 1 Software Quality Assurance. Course Aims Introduction to software quality assurance. Software testing terminology. Role and responsibility.
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Chapter 1: Introduction to Software Testing Software Testing
ConfidentialPA Testing Mobile Applications A Model for Mobile Testing.
1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:
Sept - Dec w1d11 Beyond Accuracy: What Data Quality Means to Data Consumers CMPT 455/826 - Week 1, Day 1 (based on R.Y. Wang & D.M. Strong)
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Copyright © Jerzy R. Nawrocki ISO 9126 and Non-functional Requirements Requirements.
© 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Testing 29/Apr/2009 Petr Panuška.
Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.
Basic of Software Testing Presented by The Smartpath Information System An ISO 9001:2008 Certified Organization
Software Quality : The Elusive Target
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Software Methods Mö/ slide 1 Methods and Techniques of Software Quality Management ICEL Quality Management Systems: Methods and Techniques of Software.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
About Quality Pre paired By: Muhammad Azhar. Scope What is Quality Quality Attributes Conclusion on software Quality Quality Concepts Quality Costs.
Modelling Support for Quality of Service Eclipse ECESIS Project Modelling Support for Quality of Service Department for Cooperative and Trusted Systems.
CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816)
Software Testing for Intelligent Robots Justin Peckner Maria Velasquez November 13, 2012.
CSSE Software Engineering Process and Practice Lecture 5 Q UALITY A SSURANCE.
UKTMF 27 th January 2010 Non-Functional Testing1 Non-Functional Testing Non-Functional Testing Why is this so often done badly or not done at all? Can.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
CSE 303 – Software Design and Architecture
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Putting Experience to the test
EMI INFSO-RI Software Quality Assurance in EMI Maria Alandes Pradillo (CERN) SA2.2 Task Leader.
Week # 4 Quality Assurance Software Quality Engineering 1.
Introduction to Software Testing Maili Markvardt.
MAY 19 th 2016 Jovan Poljački
ISQB Software Testing Section Meeting 10 Dec 2012.
Chapter 2 Object-Oriented Paradigm Overview
16CS202 & Software Engineering
Module A Fundamentals of Testing
Quality Exercise 2 Instructions
McCall’s Quality Factors
Quality Exercise 2 Instructions
Quality Exercise 2 Instructions
BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability.
Software engineering.
مقدمه اي بر مهندسي نيازمنديها
Introduction to Software Testing
Charakteristiky kvality
and Jose-Norberto Mazón University of Alicante
Software Quality Assurance Lecture 3
Software Testing COM /12/2019 Testing/Spring 98.
Quality Factors.
ISO/IEC Systems and software Quality Requirements and Evaluation
Tomaž Špeh SURS TF SERV, Luxembourg,
Presentation transcript:

Software Testing #IRL

Agenda Why Software Testing Software Testing Principles – Exhaustive testing is impossible – Early Testing – Testing shows the Presence of Bugs – Defect Clustering – The Pesticide Paradox – Testing is Context Dependent – Absence of errors fallacy Summary Recommended reading

Other professions in Computer Science Project Lead DeveloperArchitect Technical WriterCustomerIT Ops

How Other professions in Computer Science sees test Project LeadDeveloperArchitect Technical WriterCustomerIT Ops

Agenda Why Software Testing Software Testing Principles – Exhaustive testing is impossible – Early Testing – Testing shows the Presence of Bugs – Defect Clustering – The Pesticide Paradox – Testing is Context Dependent – Absence of errors fallacy Summary Recommended reading

Exhaustive Testing is Impossible

What you Think you are Testing

Developer Forgot «this.»

Off by One

Type Casting

Previous Values

Date and Time

Obey Thermodynamics – it’s also a LAW! 1 year of power of sun is enough energy to flip bits to count to all combinations in a 187 bit number. 187 bit < 24 byte. Google: “schneier dog crypteto”

Early Testing: V-Model Architecture Requirements Specification Design Code Acceptance Test System Test Integration Test Unit Test

Early Testing: W-Model Architecture Requirements Specification Design Code Acceptance Test System Test Integration Test Unit Test Design Acceptance Test Design System Test Design Integration Test Design Unit Test

Cost of Defect

Quality Attributes: ISO/IEC :2001 Functionality - satisfies needs. – Suitability – Accuracy – Interoperability – Security – Functionality Compliance Reliability - maintains operation – Maturity – Fault Tolerance – Recoverability – Reliability Compliance Usability - effort needed for use – Understandability – Learnability – Operability – Attractiveness – Usability Compliance Efficiency - performance given resources – Time Behaviour – Resource Utilisation – Efficiency Compliance Maintainability - make modifications – Analyzability – Changeability – Stability – Testability – Maintainability Compliance Portability - change environment – Adaptability – Installability – Co-Existence – Replaceability – Portability Compliance

Types of Testing Acceptance Test System Test Integration Test Unit Test Functional Efficiency Interopability X X X X X X X

Several Layers Acceptance Test System Test Integration Test Unit Test FunctionalEfficiencySecurity X X X X X X X System Int. TestX

Testing shows the presence of bugs, but can not show that there are no defects 1986: Programming Pearls, binarySearch() bevist og testet i et kapittel 1997: Implementert i Sun java.util.Arrays.binarySearch() 2006: Feil funnet og fikset i Java- biblioteket

Defect Clustering

Bugs Found with Bug Seeding

Pesticide Paradox Age of test Bugs found per day by a test

Regression Testing Acceptance Test System Test Integration Test Unit Test FunctionalEfficiencySecurity X X X X X X X System Int. TestX X Levels Types

Testing is Context Dependent Coverage Cost 0%50%100% Cost of testing 80-85%? Cost of defects

Absence of Errors does not mean the System is OK Acceptance Test System Test Integration Test Unit Test 95% Performance/Stability

Agenda Why Software Testing Software Testing Principles – Exhaustive testing is impossible – Early Testing – Testing shows the Presence of Bugs – Defect Clustering – The Pesticide Paradox – Testing is Context Dependent – Absence of errors fallacy Summary Recommended reading

TL;DL Testing #FTW #YOLO You can’t test everything! Testing is Context Dependent! Get involved early! Testing doesn’t prove software is without bugs Absence of errors does not prove the system is ok Defects cluster Old tests find fewer bugs

Books you should read to learn more about… People and testing Creative Testing Coding Software EngineeringTesting in TrondheimFun Web

Software Testing #IRL

Copyrights Ant Hill: RukaKuusamo.com Money bag: CC AT Book: CC AThttp:// Cables: CC AT SAhttp:// Bokhylle: Sehoon Lee Phote bookshelf-by-sehoon-lee/ bookshelf-by-sehoon-lee/ Hender: CC AT NM NC Angel: CC AT NC Guarantee: CC AT Road: CC AT SA