Software Quality FS 2012 Discussion Exercise 2 Eya Ben Charrada.

Slides:



Advertisements
Similar presentations
Object-Oriented Analysis and Design Lecture 10 Implementation (from Schach, “O-O and Classical Software Engineering”)
Advertisements

Chapter 17 Code Review, Test Data, and Code Comparison.
Claus Brabrand, ITU, Denmark Feb 17, 2009WHITE-BOX TESTING White-Box Testing Claus Brabrand [ ] ( “FÅP”: First-year Project Course, ITU,
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Understand.
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Chapter 18 Testing Conventional Applications
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
CSE 403 Lecture 13 Black/White-Box Testing Reading: Software Testing: Principles and Practices, Ch. 3-4 (Desikan, Ramesh) slides created by Marty Stepp.
CompSci 230 Software Design and Construction
Software Testing For CSE 3902 Matt Boggus. Terms: Setup / Exercise / Verify / Teardown Setup - whatever needs to be prepared before the code can be run.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
System/Software Testing
Software Quality Assurance and Testing prof. A. C. (Alex) Telea Course description.
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
Introduction to Unit Testing Jun-Ru Chang 2012/05/03.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
Principles of Object Oriented Programming Practical session 2 – part A.
Class Specification Implementation Graph By: Njume Njinimbam Chi-Chang Sun.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Testing phases. Test data Inputs which have been devised to test the system Test cases Inputs to test the system and the predicted outputs from these.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Defect testing l Testing programs to establish the presence of system defects.
Coverage – “Systematic” Testing Chapter 20. Dividing the input space for failure search Testing requires selecting inputs to try on the program, but how.
Lecture 11 Testing and Debugging SFDV Principles of Information Systems.
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
CSE 219 Computer Science III Testing. Testing vs. Debugging Testing: Create and use scenarios which reveal incorrect behaviors –Design of test cases:
Software Testing Testing types Testing strategy Testing principles.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Testing Worshop in Software Engineering Project Department of Computer Science Ben-Gurion university 1Worshop in SE ProjectSpring 2013.
Debugging. Compile problems Read the whole complaint! Runtime problems –Exceptions –Incorrect behavior.
Testing and Debugging Version 1.0. All kinds of things can go wrong when you are developing a program. The compiler discovers syntax errors in your code.
CSE403 Software Engineering Autumn 2001 More Testing Gary Kimura Lecture #10 October 22, 2001.
Test Coverage CS-300 Fall 2005 Supreeth Venkataraman.
Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh.
Chapter 22 Developer testing Peter J. Lane. Testing can be difficult for developers to follow  Testing’s goal runs counter to the goals of the other.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Unit Testing with JUnit and Clover Based on material from: Daniel Amyot JUnit Web site.
1 CSC/ECE 517 Fall 2010 Lec. 3 Overview of Eclipse Lectures Lecture 2 “Lecture 0” Lecture 3 1.Overview 2.Installing and Running 3.Building and Running.
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
CPSC 873 John D. McGregor Session 9 Testing Vocabulary.
SOFTWARE TESTING. INTRODUCTION Testing forms the first step in determining the errors in a program. It is the major quality control measure used during.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 11, Testing.
1 CSC 216 Lecture 3. 2 Unit Testing  The most basic kind of testing is called unit testing  Why is it called “unit” testing?  When should tests be.
CPSC 871 John D. McGregor Module 8 Session 1 Testing.
PROGRAMMING TESTING B MODULE 2: SOFTWARE SYSTEMS 22 NOVEMBER 2013.
Testing Data Structures Tao Xie Visiting Professor, Peking University Associate Professor, North Carolina State University
Dynamic Testing.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Design– Unit Testing SIMPLE PRIMER ON Junit Junit is a free simple library that is added to Eclipse to all automated unit tests. The first step,
Testing JUnit Testing. Testing Testing can mean many different things It certainly includes running a completed program with various inputs It also includes.
Digitaalsüsteemide verifitseerimise kursus1 Exercises Binary decision diagrams ROBDD generation. Shannon expansion Finding an optimal ordering Dynamic.
ANOOP GANGWAR 5 TH SEM SOFTWARE TESTING MASTER OF COMPUTER APPLICATION-V Sem.
Software Testing. SE, Testing, Hans van Vliet, © Nasty question  Suppose you are being asked to lead the team to test the software that controls.
Testing It is much better to have a plan when testing your programs than it is to just randomly try values in a haphazard fashion. Testing Strategies:
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
CPSC 372 John D. McGregor Module 8 Session 1 Testing.
Edexcel GCSE Maths Spec B – Modular: Booster C © Pearson Education This document may have been altered from the original. To learn a useful way of.
Testing. Aspects of Quality Software Flexibility Extensibility Correctness Robustness Reliability Safety Usability.
Phoenix Based Dynamic Slicing Debugging Tool Eric Cheng Lin Xu Matt Gruskin Ravi Ramaseshan Microsoft Phoenix Intern Team (Summer '06)
Jester – The JUnit Test Tester
SwE 455 Program Slicing.
Unit Test: Functions, Procedures, Classes, and Methods as Units
Overview of Eclipse Lectures
POWERPOINT PRESENTATION
Method exercises Without IF
Re- engineeniering.
Testing Slides adopted from John Jannotti, Brown University
Presentation transcript:

Software Quality FS 2012 Discussion Exercise 2 Eya Ben Charrada

structure SVN Using Trunk/Branches/Tags is a recommended practice Trunk Branches Tags 26/03/12 Software Quality FS Discussion Ex 2 2

Modularity Extensibility Testability 26/03/12 Software Quality FS Discussion Ex 2 3

Improving the source code Moving variables Use CamelCase convention Removing unreachable and dead code Add brackets to if statements Breaking long methods Adding documentation Rewrite more efficient code 26/03/12 Software Quality FS Discussion Ex 2 4

JUnit Only the first failure is reported by a test method. public class MyTestCase public void testSomething() { // Set up for the test, manipulating local variables assertTrue(condition1); assertTrue(condition2); } 26/03/12 Software Quality FS Discussion Ex 2 5

JUnit Only first failure reported in a test. public class MyTestCase { // Local variables become instance public void setUp() { // Set up for the test, manipulating instance variables public void testCondition1() { assertTrue(condition1); public void testCondition2() { assertTrue(condition2); } 26/03/12 Software Quality FS Discussion Ex 2 6

Testing strategies Black-box: –Boundary values –Equivalence partitioning white-box: –Coverage (branch, statement,…) 26/03/12 Software Quality FS Discussion Ex 2 7

What’s wrong? Dependencies 26/03/12 Software Quality FS Discussion Ex 2 8

Slicing Dependencies 26/03/12 Software Quality FS Discussion Ex 2 9 Forward slice: Which parts may be affected? Backward slice: A version of the original program with some parts missing, can be compiled and executed. [Source:

Slicing Dependencies 26/03/12 Software Quality FS Discussion Ex 2 10

Hypothesizing about a defect 26/03/12 Software Quality FS Discussion Ex 2 11