estimation wrap-up cse 403, spring 2008, alverson spolsky

21
Estimation Wrap- up CSE 403, Spring 2008, Alverson Spolsky

Upload: christine-goodman

Post on 25-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

Estimation Wrap-up

CSE 403, Spring 2008, Alverson

Spolsky

Page 2: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

Why do we need estimates?

 To know o If a customer request for a delivery date is reasonableo If we can provide more features in the time we haveo If we need more people to hit a deadlineo How much to bid for a jobo When we can provide our deliverable to another

group, possibly internal, who is dependent on ito When we’ll be available to move to the next projecto Which path is more cost effective to pursue (ie. build

vs buy, design A or design B)o ....

CSE 403, Spring 2008, Alverson

Page 3: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

Estimation in a nutshell There are multiple ways to come up with an

estimate

Make sure you take into account the broad spectrum of factors, includingo Size of projecto Type of project, type of languageo Vacations, meetings, non-technical worko Size and talent in the teamo Scope of the projecto Input from past experience (yours and/or others)

Try to avoid the deadly sins …

CSE 403, Spring 2008, Alverson

Page 4: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

Testing Wrap-up

Coding Ain't Done 'Til All the Tests Run

Pragmatic Programmer

CSE 403, Spring 2008, Alverson

Page 5: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

Testing Wrap-up

Take it from me, Microsoftbegins every project with

the certain knowledge thatthey will choose to ship

with known bugs.

MS test engineerCSE 403, Spring 2008, Alverson

Page 6: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

CSE 403, Spring 2008, Alverson

Integration/system testingShows that the major subsystems that make up

the project work well together.

big bang: no stubs; do unit testing, then throw all parts together

bottom-up: integrate upward into double, triple, quadruple module test

top-down: test top layer (UI) first, then add layers to replace underlying stubs

o What are some pros and cons of each?

Page 7: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

CSE 403, Spring 2008, Alverson

GUI testingTesting a product that uses a GUI, to ensure it meets

its written specifications

Difficulties:o Many operations to test (ie. MS Wordpad has 325)o Order of testing matterso Regression testing is hard given GUI evolutiono Need to test on an array of browsers (web apps)

Page 8: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

CSE 403, Spring 2008, Alverson

Approaches to GUI testing Automated UI testing

o Scripts that use your app and look for failureso A black-box system testo Selenium: http://www.openqa.org/selenium/

Manual testso Human beings click through predetermined pathso Need to write down the specific tests each timeo http://members.tripod.com/~bazman/checklist.html

Exploratory testso Human beings are "turned loose" on the app to see if they

can break it

Page 9: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

CSE 403, Spring 2008, Alverson

Web app compatibility testing Motivation

o ensure that your web app is compatible with various browsers, platforms, etc.

o ensure that your app's HTML code complies with web standards

o ensure that you have no broken links or other HTML errors

<a href="http://validator.w3.org/check/referer"><img style="border:0;width:88px;height:31px" src="http://www.w3.org/Icons/valid-xhtml10-blue" alt="Valid XHTML 1.0 Strict" /></a>

<a href="http://jigsaw.w3.org/css-validator/check/referer"><img style="border:0;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS!" /></a>

Page 10: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

CSE 403, Spring 2008, Alverson

•http://www.dezinerfolio.com/wp-content/uploads/2007/04/1985.jpg

Page 11: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

CSE 403, Spring 2008, Alverson

Pragmatic Programmer Tips

Test early, test often, test automatically

Find bugs once

Test your software, or your users will

Design to test

Page 12: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

CSE 403, Spring 2008, Alverson

BUGS!

Managing Bugs

Page 13: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

CSE 403, Spring 2008, Alverson

What is a bug?

Formally, a “software defect” System fails to perform to spec System causes something else to fail System functions, but does not satisfy usability

criteria

If the system works to spec and someone wants it changed, that’s a feature request

Page 14: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

CSE 403, Spring 2008, Alverson

What makes a good bug report?

Include: Reproducible steps – how did you cause the failure? Observed result – what did it do? Expected result – what should it have done? Any collateral information: return values/output,… Environment

o OS version , env variables, compiler flags, …o Test platforms must be reproducibleo “It doesn’t do it on my machine”

Page 15: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

CSE 403, Spring 2008, Alverson

Why is a bug tracking tool valuable?

Vs, say, a spreadsheet?

Page 16: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

CSE 403, Spring 2008, Alverson

Metrics can show quality

Survival Guide p224

Page 17: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

CSE 403, Spring 2008, Alverson

Another exampleOpen defects by criticality (p1=high, p5=low)

Is this system ready to release?

Page 18: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

CSE 403, Spring 2008, Alverson

Example 3Open defects by module

How is this view helpful?

Page 19: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

CSE 403, Spring 2008, Alverson

A bug’s life (simplistic)Bug activated

Triage Fix?

Defect fixed - bug resolved

Fixed

Fixed?

Regression testing

Bug closed

Won’t FixNot ReproBy DesignPostponed

NO

YES

NO

YES

Page 20: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

Team Member Contribution Assessments

Scores will be in database by end of day

You’ll hear from me only if there are exceptional comments

Email me if you want a summaryCSE 403, Spring 2008, Alverson

Page 21: Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

Beta and Final Releases

Excellent job on the Beta!(We spent a huge amount of time grading it together – your

products are looking really nice)

Let’s walk through Final Assignment so you can make sure you

understand all the componentsCSE 403, Spring 2008, Alverson