Java & Testing. Slides adapted from Craig Zilles

Similar documents
CTFL - Version: 3. ISTQB Certified Tester Foundation Level

Skill Category 7. Quality Control Practices

ISTQB Certified Tester. Foundation Level. Sample Exam 1

ISTQB CTFL BH0-010 Exam Practice Question Paper

ISTQB CTFL BH0-010 Exam Practice Question Paper

INTRODUCTION. It is the process used to identify the correctness, completeness and quality of developed computer software.

ISTQB Sample Question Paper Dump #11

Systematic Testing#1. (adapted from lecture notes of the CSCI 3060U - Software Quality Assurance unit, J.S. Bradbury, J.R.

Bugs are costly... Kinds of Quality Assurance

Fundamentals Test Process

Integration and Testing

Seminar 06 Chapter 5 - Part 1

Software processes, quality, and standards VTV, fast methods, automation

9. Verification, Validation, Testing

Testing. And Software Product Management. Autumn 2017 CSM14104 Software Product Management 1

Test Management: Part I. Software Testing: INF3121 / INF4121

It s time to be more Optimistic about Negative Testing 12 th Annual International Software Testing Conference Saroj Patnaik 20-October-2012

Importance of Software Testing with Study of Various Testing Techniques & Automation Tools

ISTQB CTFL BH0-010 Exam Practice Question Paper

Testing 2. Testing: Agenda. for Systems Validation. Testing for Systems Validation CONCEPT HEIDELBERG

Sample Exam ISTQB Agile Foundation Questions. Exam Prepared By

AUTOMATED DEFECT PREVENTION: BEST PRACTICES IN SOFTWARE MANAGEMENT

Testing and QA in Incremental Software Development Project

ISTQB CTFL BH0-010 Exam Practice Question Paper

Software Engineering Tools and Environments. Ch. 9 1

T Software Testing and Quality Assurance Test Planning

BASICS OF SOFTWARE TESTING AND QUALITY ASSURANCE. Yvonne Enselman, CTAL

IBM Rational Extensions for SAP Applications Application lifecycle management for consistent governance

Test Management is Risk management. Risk Based Testing

ISTQB CTFL BH QuestionsAnswers with Explanation

Software Quality Engineering Courses Offered by The Westfall Team

Software Quality Engineering Courses Offered by The Westfall Team

Manual Testing Step by Step Tutorial

What is Important When Selecting an MBT Tool?

Introduction. Fundamental concepts in testing

Managing the Testing Process E-learning Course Outline

CS SOFTWARE ENGINEERING QUESTION BANK

Introduction to Software Testing

Software engineering Facts. CSC Compiler Construction Software Engineering Topics. What is software engineering? What is software?

1. Why is Testing Necessary? 2. What is Testing? 3. Seven Testing Principles

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

INF 3121 Software Testing - Lecture 05. Test Management

Babu Madhav Institute Of Information Technology,UTU

Black Box Software Testing

ISTQB CTFL BH0-010 Exam Practice Question Paper

MSc Software Testing MSc Prófun hugbúnaðar

Alternatives to Vertical Probing

Introduction to Software Testing Chapter 1 Introduction Paul Ammann & Jeff Offutt

ISTQB CTFL BH0-10 Questions Answers with Explanation

BACKGROUND OF TESTING 4. The fundamental principles of the testing are as follows.

SE420 Software Quality Assurance

Survey on OSS strategies for Software Intensive Organizations

Fatima Michael College of Engineering & Technology

WORKING WITH TEST DOCUMENTATION

Test Management: Part II. Software Testing: INF3121 / INF4121

Contractual Aspects of Testing Some Basic Guidelines CONTENTS

MSc Software Testing and Maintenance MSc Prófun og viðhald hugbúnaðar

Session 8: Testing Special importance of testing Stages of testing Manual vs. automated testing Continuous testing strategies

A Review Paper on Software Testing

Activity Metrics. (book ch 4.3, 10, 11, 12) RIT Software Engineering

Project description: Specification coverage and traces distances

Automated Test Design as an Improvement to TDD and BDD for Agile Testing

Software Testing Algorithm Units

Testing. CxOne Standard

ISTQB-Level1 ASTQB. American Software Testing Qualifications Board Level 1

Accelerating Xilinx All Programmable FPGA and SoC Design Verification with Blue Pearl Software

V1. James Bach, Satisfice, Inc. (540) Copyright , Satisfice, Inc.

Rational User Conference 2002

Key Takeaways: 1. How to make your Exploratory testing sessions more effective so that you achieve customer value

Agile Manifesto & XP

CASE STUDY: Ensuring the Quality of Outsourced Java Development

ISEB ISTQB Sample Paper

Introduction to Software Testing Chapter 1 Introduction Paul Ammann & Jeff Offutt

Also we will try to recap what we studied in the last class. (Refer Slide Time: 00:35)

Knowledge Base for Writing Test Cases (Part 1)

Test Workflow. Michael Fourman Cs2 Software Engineering

Designing Software Tests part II: Techniques

Functional Testing. CSCE Lecture 4-01/21/2016

Software Testing(TYIT) Software Testing. Who does Testing?

Black box testing. What is Black Box testing? Error Guessing. What is Black Box testing?

Testing: How much is enough? Ian Ashworth Coverity

Advantages and Disadvantages of. Independent Tests. Advantages. Disadvantages

AGILE TEST MANAGEMENT WITH VISUAL STUDIO

Chapter 5 Part Test progress monitoring and control. 4. Configuration management. 5. Risk and testing. 6. Incident management

THE COVERAGE CHALLENGE INDUSTRY COVERAGE TRENDS

CS314 Software Engineering Daily Scrum

AutomatedQA Webinar 1

Critical Software Testing Processes

I hate Maintenance! Maintenance SUCKS!

Surviving the Top Ten Challenges of Software Testing

SE420 Software Quality Assurance

Software Testing Practices

Fujitsu s System Development Methodology: SDAS

Testing and Quality Assurance Techniques

Led by the Author Attended by a peer group Varying level of formality Knowledge gathering Defect finding

MTAT : Software Testing

So You Just Got Invited To Brief the Board of directors on Security

What is Continuous Integration. And how do I get there

Build It fast & Build It Right

SAP - Redefining software testing. Sanujeet Puhan SAP Technical Architect

Transcription:

Java & Testing Slides adapted from Craig Zilles 1

Things to have been doing join UIUC CS 126 on piazza.com get an iclicker registered at http://iclicker.com get a GitHub account install IntelliJ on to your laptop (students can get the Ultimate version for free) clone an Introduction repo and edit it to put in your netid: https://classroom.github.com/a/9b0ctbdf review course policies: https://courses.engr.illinois.edu/cs126 Code review survey https://doodle.com/poll/wtaikzrxtzyai9xs 2

Why Test? Improve quality - find faults Measure quality Prove there are no faults? (Is it possible?) Determine if software is ready to be released Determine what to work on See if you made a mistake Learn the software 3

Testing vs. Debugging Testing is detecting errors Debugging is a means of diagnosing and correcting the root causes of errors that have already been detected. 4

Types of testing Unit Testing Component Testing Integration Testing Regression Testing System Testing 5

Types of testing Unit Testing The execution of a complete class, routine, or small program that has been written by a single programmer or team of programmers, which is tested in isolation from the more complete system. Component Testing Integration Testing Regression Testing System Testing 6

Two Approaches to Testing Black box testing: White box testing: 7

Two Approaches to Testing Black box testing: a.k.a. Behavioral Testing is a software testing method in which the internal structure/design/implementation of the item being tested is not known to the tester. White box testing: a.k.a. Structural Testing exploits knowledge of the internal structure/design/implementation of the item being tested, generally to ensure good code coverage and test potential corner cases in the implementation. 8

What kind of tests? Manual Good for exploratory Good for testing GUI Manual regression testing is BORING Automatic Test is a program Test is created by a tool that records user actions The only way to make testing efficient as well as effective is to automate as much as possible 9

Junit Open source Java testing framework for automated testing Widely used in industry Features: Assertions for testing expected results Test features for sharing common test data Test suites for easily organizing and running tests Graphical and textual test runners Primarily for unit and integration testing, not system testing 10

Definitions Which kind of testing is specification testing A) Black box testing B) White box testing 11

Black box testing exercise A program needs to be developed so that given an integer value it outputs 0 when the integer value is 0 it outputs 1 when the integer value > 0 It outputs -1 when the integer value < 0 What would be your black box tests? (How many do you need?) 12

Bag of Testing Tricks Equivalence Partitioning: If two test cases flush out exactly the same errors, you need only one of them. How many different groups of inputs are there? Test each of them. Error Guessing: guesses about where the program might have errors, based on your experience/intuition Boundary Analysis: write test cases that exercise the boundary conditions, looking for off-by-one errors. Classes of Good Data: Nominal cases (middle-of-the-road, expected values), minimum/maximum normal configuration, compatibility with old data Classes of Bad Data: Too little data (or no data), too much data, the wrong kind of data (invalid data), the wrong size of data, uninitialized data 13

Test First or Test Last? (Guess) A) Test First (write tests before you write code) B) Test Last (write tests after you write code) 14

Test First Detect defects earlier (cheaper) Forces understanding of the requirements before you start coding Identifies problems with the requirements earlier No more effort to test first A tenet of extreme Programming (XP) A design technique, not a testing technique Doesn t find bugs, but eliminates them Doesn t measure quality, but improves it 15