Quote by Bruce Sterling, from: A Software Testing Primer, Nick Jenkins

Similar documents
Software Testing. An Overview

Software Testing Interview Question and Answer

UNIT-2 Levels of Testing

Integration and Testing. Uses slides from Lethbridge & Laganiere, 2001

Sample Question Paper. Software Testing (ETIT 414)

Learn Well Technocraft

1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake

Chapter 9. Software Testing

Manual Testing. Software Development Life Cycle. Verification. Mobile Testing

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

Certified Tester Foundation Level(CTFL)

Manuel Oriol, CHCRC-C, Software Testing ABB

Software Testing Strategies. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015

10. Software Testing Fundamental Concepts

Software Engineering Fall 2014

Software Quality Assurance (SQA) Software Quality Assurance

Software Testing CS 408

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

Chap 2. Introduction to Software Testing

Software Testing part II (white box) Lecturer: Giuseppe Santucci

Software Engineering (CSC 4350/6350) Rao Casturi

Bridge Course On Software Testing

Chapter 11, Testing, Part 2: Integration and System Testing

CS 424 Software Quality Assurance & Testing LECTURE 3 BASIC CONCEPTS OF SOFTWARE TESTING - I

Mind Q Systems Private Limited

Software Testing. Minsoo Ryu. Hanyang University. Real-Time Computing and Communications Lab., Hanyang University

INTRODUCTION TO SOFTWARE ENGINEERING

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs.

Write perfect C code to solve the three problems below.

Modern Methods in Software Engineering. Testing.

Types of Software Testing: Different Testing Types with Details

Chapter 9 Quality and Change Management

No Source Code. EEC 521: Software Engineering. Specification-Based Testing. Advantages

Pearson Education 2007 Chapter 9 (RASD 3/e)

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING

Software Testing Tools

Chapter 11, Testing, Part 2: Integration and System Testing

Testing. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?

Software Testing MANUAL TESTING. Introduction to Testing. Software Quality Software Testing Definition. Different Life Cycle Models Waterfall Model

Black Box Testing. EEC 521: Software Engineering. Specification-Based Testing. No Source Code. Software Testing

Lecture 15 Software Testing

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Software Testing. Software Testing. in the textbook. Chapter 8. Verification and Validation. Verification Techniques

Shift Left Testing: are you ready? Live Webinar, Sept 19

Diploma in Software Testing (DST)

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

WHY TEST SOFTWARE?...

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

Digitized Engineering Notebook

Chapter 11, Testing. Using UML, Patterns, and Java. Object-Oriented Software Engineering

Ingegneria del Software Corso di Laurea in Informatica per il Management

Software Engineering Theory. Lena Buffoni (slides by Kristian Sandahl/Mariam Kamkar) Department of Computer and Information Science

Examination Questions Time allowed: 1 hour 15 minutes

LEVELS OF TESTING AND SPECIAL TESTS

MONIKA HEINER.

Testing Objectives. Successful testing: discovers previously unknown errors

TDDD04: Integration and System level testing. Lena Buffoni

Computational Systems COMP1209

Sample Exam. Certified Tester Foundation Level

Topics in Software Testing

Advanced Software Engineering: Software Testing

Testing. Unit, integration, regression, validation, system. OO Testing techniques Application of traditional techniques to OO software

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

Comparison Study of Software Testing Methods and Levels- A Review

SOFTWARE ENGINEERING SOFTWARE VERIFICATION AND VALIDATION. Saulius Ragaišis.

Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not.

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT

Higher-order Testing. Stuart Anderson. Stuart Anderson Higher-order Testing c 2011

Chapter 11, Testing, Part 2: Integration and System Testing

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

Verification and Validation

Software Testing. Hans-Petter Halvorsen, M.Sc.

Integration Testing Qualidade de Software 2

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

18-642: Testing Overview

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

Testing: Test design and testing process

Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement

Information Systems. Software Engineering. MCQ - Part 2

Verification Overview Testing Theory and Principles Testing in Practice. Verification. Miaoqing Huang University of Arkansas 1 / 80

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

Verification and Validation

Testing in the Agile World

Software Testing and Maintenance

Testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements.

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

Testing & Debugging TB-1

QUIZ #5 - Solutions (5pts each)

Introduction To Software Testing. Brian Nielsen. Center of Embedded Software Systems Aalborg University, Denmark CSS

Software Engineering: Theory and Practice. Verification by Testing. Test Case Design. Tom Verhoeff

Object-Oriented Software Engineering Conquering Complex and Changing Systems. Chapter 9, Testing

GSU Event Portal. OPUS Open Portal to University Scholarship. Governors State University. Mohammed Awais Governors State University

Helix Test Case Management Best Practices

Diploma in Software Testing 2.0 (HP)

Verification and Validation

Verification and Validation

CS6403 SOFTWARE ENGINEERING Year / Sem : II / IV Sub. Code &Subject : CS6403 SOFTWARE ENGINEERING QUESTION BANKWITH ANSWERS

ICAgile Learning Roadmap Agile Testing Track

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

Transcription:

Software Testing

Why Test?

Quote by Bruce Sterling, from: A Software Testing Primer, Nick Jenkins

https://www.typemock.com/software-bugs-infographic

A bug found at design time costs ten times less to fix than one in coding and a hundred times less than one found after launch 1:6:10:1000 requirements : design : coding : implementation (Barry Boehm) Up to 50% of bug fixes actually introduce new errors in the code!

Testing reduces risk Testing is not optional and needs to infuse the development lifecycle Test early; Test often Testing mindset

Terminology Re-testing Regression Testing (see: http://www.sqlite.org/ testing.html) QA Black-Box testing White-Box testing (glass-box)

Verification Validation Alpha Testing Beta Testing

Static Analysis Dynamic Analysis https://www.parasoft.com/ https://scan.coverity.com/o/oss_success_stories https://developer.apple.com/library/content/documentation/performance/conceptual/performanceoverview/ PerformanceTools/PerformanceTools.html

Unit Testing (test case, test harness/suite) Integration Testing (stubs, drivers) System Testing

Unit Testing Unit testing verifies the functioning in isolation of software elements that are separately testable. Depending on the context, these could be the individual subprograms or a larger component made of highly cohesive units. Typically, unit testing occurs with access to the code being tested and with the support of debugging tools. The programmers who wrote the code typically, but not always, conduct unit testing. SWEBOKv3

Integration Testing Integration testing is the process of verifying the interactions among software components. Classical integration testing strategies, such as top-down and bottom-up, are often used with hierarchically structured software. Modern, systematic integration strategies are typically architecturedriven, which involves incrementally integrating the software components or subsystems based on identified functional threads. Integration testing is often an ongoing activity at each stage of development during which software engineers abstract away lower-level perspectives and concentrate on the perspectives of the level at which they are integrating. For other than small, simple software, incremental integration testing strategies are usually preferred to putting all of the components together at once which is often called big bang testing.

System Testing System testing is concerned with testing the behavior of an entire system. Effective unit and integration testing will have identified many of the software defects. System testing is usually considered appropriate for assessing the non-functional system requirements such as security, speed, accuracy, and reliability (see Functional and Non-Functional Requirements in the Software Requirements KA and Software Quality Requirements in the Software Quality KA). External interfaces to other applications, utilities, hardware devices, or the operating environments are also usually evaluated at this level.

Acceptance Testing (User Acceptance Testing, UAT) Test Automation QA Dashboard (e.g. TFS Dashboard) Usability Testing

Code Coverage Traceability Security Testing Stress/Load Testing Recovery Testing

Failure undesired effect observed in the system s delivered service Fault cause of a malfunction Defect Error human mistake that contributed to a fault, or a difference between actual and expected output Bug tester language Testing can reveal failures, but it is the faults that can and must be removed Faults cannot always be unequivocally identified

Test Planning

Unit Testing See other slide set

Test Scripting Scripted evaluation, or Free-form exploration

Test Cases Document a test Prove a requirement (at least one test case per requirement) Should have at least 2: one positive, one negative

Testing in Agile 1. User Story with acceptance test 2. Write integration test cases 3. JIT modeling, design code 4. Write unit tests 5. Write code to implement features described in the story that themselves represent requirements

More slides to come