warning

59
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010. They may not show up well on other PowerPoint versions. You can download PowerPoint 2010 viewer from here . These slides contain a lot of animations. For optimal results, watch in slideshow mode.

Upload: thanh

Post on 12-Feb-2016

38 views

Category:

Documents


0 download

DESCRIPTION

WARNING. These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010. They may not show up well on other PowerPoint versions . You can download PowerPoint 2010 viewer from here . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: WARNING

WARNING

These slides are not optimized for printing or exam preparation. These are for lecture delivery only.

These slides are made for PowerPoint 2010. They may not show up well on other PowerPoint versions. You can download PowerPoint 2010 viewer from here.

These slides contain a lot of animations. For optimal results, watch in slideshow mode.

Page 2: WARNING

How long will they take to catch all fish?a) Less than 1 hourb) Around 1 hourc) About 100 hoursd) Forever

fish {a|b|c|d}e.g. fish c 77577

If 100 people trying to catch 100 piranha fish in a lake. On average, one person can catch one fish within 1 hour

Page 3: WARNING
Page 4: WARNING

System testing

SUT

Page 5: WARNING
Page 6: WARNING

System testing

SUT

Page 7: WARNING

System testing

SUT

Page 8: WARNING

Do you want maximum publicity for your mistakes?

Page 9: WARNING

Do you want maximum publicity for your mistakes?

Page 10: WARNING

Never too early to test:

An Introduction to Early Developer Testing

CS2103/T, Lecture 4, Part 2, [Sep 6, 2013]

Page 11: WARNING

UI

MSLogic

Storage

Hist

ory

UI

MSLogic

Storage

Hist

ory

Unit testing

Page 12: WARNING

UI

MSLogic

Storage

Hist

ory

UI

MSLogic

Storage

Hist

ory

Unit testing

Page 13: WARNING

UI

MSLogic

Storage

Hist

ory

SUT

Unit testing

Page 14: WARNING

UI

MSLogic

Storage

Hist

ory

SUT

Unit testing

Page 15: WARNING

UI

MSLogic

Storage

Hist

ory

SUT

Stub

Stub

Test

Driv

er

Unit testing

Page 16: WARNING

UI

MSLogic

Storage

Hist

ory

SUT

Stub

Stub

Test

Driv

er

String getItem (int key){ if(key==1) return “Item for key 1”; if(key==2) return “Item for key 2”; …

Unit testing

Page 17: WARNING

UI

MSLogic

Storage

Hist

ory

SUT==MSLogic

Stub

Stub

Test

Driv

er

String item = msLogic.getItem(1);if(!item.equals(“Item1”) print(“Case 1 failed”);…

Unit testing

Page 18: WARNING

String item = msLogic.getItem(1);if(!item.equals(“Item1”) print(“Case 1 failed”);…

assertEquals(msLogic.getItem(1), “Item1”);…

Testing frameworks

Page 19: WARNING
Page 20: WARNING
Page 21: WARNING

Unit testing

UI

MSLogic

Storage

Hist

ory

Page 22: WARNING

Unit testing

UI

MSLogic

Storage

Hist

ory

Page 23: WARNING

Integration testing

UI

MSLogic

Storage

Hist

ory

Page 24: WARNING

Integration testing

UI

MSLogic

Storage

Hist

ory

Page 25: WARNING

Integration testing

UI

MSLogic

Storage

Hist

ory

Page 26: WARNING

Test-Driven Development (TDD)

SUT

Page 27: WARNING

Write a failing test

Write code to pass test

Test-Driven Development (TDD)

Page 28: WARNING

CityConnect.java

CityConnectTest.java

Page 29: WARNING

CityConnect.java

CityConnectTest.java

Page 30: WARNING

CityConnect.java

CityConnectTest.java

Clementi --- EunosEunos --- Novena

Clementi trueNovena trueEunos trueChangi false

Page 31: WARNING

CityConnect.java

CityConnectTest.java

Page 32: WARNING

CityConnect.java

CityConnectTest.java

Page 33: WARNING

CityConnect.java

CityConnectTest.java

Page 34: WARNING

CityConnect.java

CityConnectTest.java

Page 35: WARNING

CityConnect.java

CityConnectTest.java

Page 36: WARNING

CityConnect.java

CityConnectTest.java

Page 37: WARNING

CityConnect.java

CityConnectTest.java

Page 38: WARNING

CityConnect.java

CityConnectTest.java

Page 39: WARNING

CityConnect.java

CityConnectTest.java

Page 40: WARNING

CityConnect.java

CityConnectTest.java

Page 41: WARNING

CityConnect.java

CityConnectTest.java

Page 42: WARNING

CityConnect.java

CityConnectTest.java

Page 43: WARNING

CityConnect.java

CityConnectTest.java

Page 44: WARNING

CityConnect.java

CityConnectTest.java

Page 45: WARNING

CityConnect.java

CityConnectTest.java

Page 46: WARNING

CityConnect.java

CityConnectTest.java

Page 47: WARNING

CityConnect.java

CityConnectTest.java

Page 48: WARNING

CityConnect.java

CityConnectTest.java

Note: more test cases required.

Page 49: WARNING

Test-Driven Development (TDD)

Write a failing test

Write code to pass test

Page 50: WARNING
Page 51: WARNING
Page 52: WARNING

60+ developers

75,000 Lines of Code

Page 53: WARNING
Page 54: WARNING

Automated tests

Page 55: WARNING
Page 56: WARNING

When the system test fails...

Page 57: WARNING

Must have automated developer tests!

Page 58: WARNING

Only system testing? NO

It can save your career.

Automated test driver

frameworks

Can do in TDD fashion

Must do developer testing

Page 59: WARNING

↙ ?Should do this too

Everyone should do some

Use these

Do in CE2,Optional in project