Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky.
-
Upload
christine-goodman -
Category
Documents
-
view
214 -
download
1
Transcript of Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky.
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
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
Testing Wrap-up
Coding Ain't Done 'Til All the Tests Run
Pragmatic Programmer
CSE 403, Spring 2008, Alverson
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
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?
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)
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
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>
CSE 403, Spring 2008, Alverson
•http://www.dezinerfolio.com/wp-content/uploads/2007/04/1985.jpg
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
CSE 403, Spring 2008, Alverson
BUGS!
Managing Bugs
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
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”
CSE 403, Spring 2008, Alverson
Why is a bug tracking tool valuable?
Vs, say, a spreadsheet?
CSE 403, Spring 2008, Alverson
Metrics can show quality
Survival Guide p224
CSE 403, Spring 2008, Alverson
Another exampleOpen defects by criticality (p1=high, p5=low)
Is this system ready to release?
CSE 403, Spring 2008, Alverson
Example 3Open defects by module
How is this view helpful?
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
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
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