Warning
This presentation is the property of its rightful owner.
Sponsored Links
1 / 60

WARNING PowerPoint PPT Presentation


  • 113 Views
  • Uploaded on
  • Presentation posted in: General

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 .

Download Presentation

WARNING

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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.


How long will they take to catch all fish?

Less than 1 hour

Around 1 hour

About 100 hours

Forever

[Extra] 100 fish

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

fish {a|b|c|d}

e.g. fish c

77577OR tinyurl.com/answerpost


[Extra] 100 fish


System testing

SUT


System testing

SUT


System testing

SUT


[Extra] who wants maximum publicity

Do you want maximum publicity for your mistakes?


[Extra] who wants maximum publicity

Do you want maximum publicity for your mistakes?


Never too early to test:

An Introduction to Early Developer Testing

CS2103/T, Lecture 4, Part 2, [Feb 7, 2014]


MSLogic

History

UI

MSLogic

History

UI

Storage

Unit testing

Storage


MSLogic

History

UI

MSLogic

History

UI

Storage

Unit testing

Storage


Unit testing

SUT

UI

MSLogic

History

Storage


Unit testing

SUT

UI

MSLogic

History

Storage


Unit testing

Test Driver

SUT

Stub

UI

MSLogic

History

Stub

Storage


Unit testing

Test Driver

SUT

Stub

UI

MSLogic

History

Stub

Storage

String retrieveFromDatabasse (intkey){

if(key==1) return “Item for key 1”;

if(key==2) return “Item for key 2”;


Unit testing

Test Driver

SUT==MSLogic

Stub

UI

MSLogic

History

Stub

Storage

String item = msLogic.getItem(1);

if(!item.equals(“Item1”) print(“Case 1 failed”);


Unit testing

Test Driver

SUT==MSLogic

Stub

UI

MSLogic

History

Stub

Storage

String item = msLogic.getItem(1);

if(!item.equals(“Item1”) print(“Case 1 failed”);


String item = msLogic.getItem(1);

if(!item.equals(“Item1”) print(“Case 1 failed”);

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

JUnit (Java)

Visual Studio Native Tests (C++)

Testing frameworks


UI

MSLogic

History

Storage

Unit testing


UI

MSLogic

History

Storage

Unit testing


UI

MSLogic

History

Storage

Integration testing


UI

MSLogic

History

Storage

Integration testing


UI

MSLogic

History

Storage

Integration testing


SUT

Test-Driven Development (TDD)


Write a failing test

Write code to pass test

Test-Driven Development (TDD)


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java

Clementi true

Novena  true

Eunos true

Changi false

Clementi --- Eunos

Eunos --- Novena


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

CityConnect.java


CityConnectTest.java

Note: more test cases required.

CityConnect.java


Write a failing test

Write code to pass test

Test-Driven Development (TDD)


75,000 Lines of Code

70+ developers


Automated tests


[extra] Mozilla patch policy


When the system test fails...


Must have automated developer tests!


It can save your career.

Must do developer testing

Can do in TDD fashion

Only system testing? NO

Use automated test driver frameworks


↙ ?

Should do this too

Everyone should do some

Do in CE2,

Optional in project

Use these


  • Login