11
Software Quality FS 2012 Discussion Exercise 2 Eya Ben Charrada

Software Quality FS 2012 Discussion Exercise 2 Eya Ben Charrada

Embed Size (px)

Citation preview

Page 1: Software Quality FS 2012 Discussion Exercise 2 Eya Ben Charrada

Software Quality FS 2012Discussion Exercise 2

Eya Ben Charrada

Page 2: Software Quality FS 2012 Discussion Exercise 2 Eya Ben Charrada

Software Quality FS 2012 - Discussion Ex 2

2

structureSVN

Using Trunk/Branches/Tags is a recommended practice

• Trunk

• Branches

• Tags26/03/12

Page 3: Software Quality FS 2012 Discussion Exercise 2 Eya Ben Charrada

Software Quality FS 2012 - Discussion Ex 2

3

Modularity

• Extensibility

• Testability

26/03/12

Page 4: Software Quality FS 2012 Discussion Exercise 2 Eya Ben Charrada

Software Quality FS 2012 - Discussion Ex 2

4

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 code26/03/12

Page 5: Software Quality FS 2012 Discussion Exercise 2 Eya Ben Charrada

Software Quality FS 2012 - Discussion Ex 2

5

JUnit

Only the first failure is reported by a test method.

public class MyTestCase { @Test public void testSomething() {

// Set up for the test, manipulating local variables assertTrue(condition1);

assertTrue(condition2); } }

26/03/12

Page 6: Software Quality FS 2012 Discussion Exercise 2 Eya Ben Charrada

Software Quality FS 2012 - Discussion Ex 2

6

JUnit

Only first failure reported in a test.public class MyTestCase {

// Local variables become instance variables @Before public void setUp() {

// Set up for the test, manipulating instance variables } @Test public void testCondition1() {

assertTrue(condition1); } @Test public void testCondition2() {

assertTrue(condition2); }

}

26/03/12

Page 7: Software Quality FS 2012 Discussion Exercise 2 Eya Ben Charrada

Software Quality FS 2012 - Discussion Ex 2

7

Testing strategies

• Black-box:– Boundary values– Equivalence partitioning

• white-box:– Coverage (branch, statement,…)

26/03/12

Page 8: Software Quality FS 2012 Discussion Exercise 2 Eya Ben Charrada

Software Quality FS 2012 - Discussion Ex 2

8

What’s wrong?Dependencies

26/03/12

Page 9: Software Quality FS 2012 Discussion Exercise 2 Eya Ben Charrada

Software Quality FS 2012 - Discussion Ex 2

9

SlicingDependencies

26/03/12

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: http://www.cs.ucl.ac.uk/staff/mharman/exe1.html]

Page 10: Software Quality FS 2012 Discussion Exercise 2 Eya Ben Charrada

Software Quality FS 2012 - Discussion Ex 2

10

SlicingDependencies

26/03/12

Page 11: Software Quality FS 2012 Discussion Exercise 2 Eya Ben Charrada

Software Quality FS 2012 - Discussion Ex 2

11

Hypothesizing about a defect

26/03/12