IMPROVING SOFTWARE QUALITY FOR THE MODERN WEB
EUAN GARDEN
MICROSOFT
HTTP://WWW.TWITTER.COM/EUANGA
HTTP://BLOGS.MSDN.COM/EUANGA
DO WE STILL NEED TO CARE ABOUT QUALITY?
on average professional coders make 100 to 150 errors in every 1000 lines of code they write
defects found in production cost 10x more to fix than those found during requirements gathering
last year, canceled projects cost firms $67 billion; overruns on the other projects racked up another $21billion
software bugs cost the us economy an estimated $59.5 billion every year
need something a little more concrete?
USS YORKTOWN, SMARTSHIP
crew member entered 0 in a
data entry field, caused a
“divide by 0” error
that shut down propulsion
ship was dead in the water
for 2hrs 45mins
ARIANE 5 FLIGHT 501
re-used code from ariane 4,
but took a different flight
path because of different
booster designconversion from 64bit float
to 16bit signed int caused
overflow (exception handler
was disabled for perf
reasons)
cost: > $370 million @ 1996
prices
F-22 RAPTOR
deploying overseas to japan
the first time crossed
international dateline
Raptor is likely the most advanced manned aircraft that will ever fly…
computers crashed losing all
navigation and
communications systems
clear weather allowed them
to follow tankers back to
hawaii
need something a little more visual?
1.what2.when3.how
AGILE TESTING QUADRANTS
functional testsexamplesstory testprototypessimulations
exploratory testingscenarios
usability testinguat (user acceptance testing)
alpha/beta
unit testscomponents tests
performance and load testingsecurity testing“ility” testing
TECHNOLOGY -FACING
CR
ITIQ
UE P
RO
DU
CT
SU
PP
OR
TIN
G T
HE T
EA
M
BUSINESS-FACING
*brian marick
AGILE TESTING QUADRANTS
functional testsexamplesstory testprototypessimulations
exploratory testingscenarios
usability testinguat (user acceptance testing)
alpha/beta
unit testscomponents tests
performance and load testingsecurity testing“ility” testing
TECHNOLOGY -FACING
CR
ITIQ
UE P
RO
DU
CT
SU
PP
OR
TIN
G T
HE T
EA
M
BUSINESS-FACING
27%
26%
47%
How often do you write unit tests?
Almost AlwaysSometimesDon't
Source: Telerik Blog Survey May ‘08
14%
60%
26%
Why are you not doing more Unit Test-ing?
Not worth writingNo time/Too HardWant to, but have not
Source: .Net/GIS Developer Blog Survey ‘08
“…for an increased development cost of 15-35%... defect reduction of 40-90% can be achieved…”
Source: “Realizing quality improvement through test driven development”, MSR et al
AGILE TESTING QUADRANTS
functional testsexamplesstory testprototypessimulations
exploratory testingscenarios
usability testinguat (user acceptance testing)
alpha/beta
unit testscomponents tests
performance and load testingsecurity testing“ility” testing
TECHNOLOGY -FACING
CR
ITIQ
UE P
RO
DU
CT
SU
PP
OR
TIN
G T
HE T
EA
M
BUSINESS-FACING
1.stop the bleeding
2.stay current3.catch up
http://blog.mountaingoatsoftware.com/reduce-manual-test-techcnical-debt
“…the real low-hanging fruit is often not automating some test execution
but automating other testing tasks, like populating databases or automatic navigation to the page where you’ll
start manual testing. you’re not reducing the number of manual tests, but you’re reducing the total time it
takes to run them...” - mike cohn quoting brian marick
DEMO
exploratory testing
manual testing
fast forward for manual testing
Iteration N
AGILE TESTING QUADRANTS
functional testsexamplesstory testprototypessimulations
exploratory testingscenarios
usability testinguat (user acceptance testing)
alpha/beta
unit testscomponents tests
performance and load testingsecurity testing“ility” testing
TECHNOLOGY -FACING
CR
ITIQ
UE P
RO
DU
CT
SU
PP
OR
TIN
G T
HE T
EA
M
BUSINESS-FACING
TEST AUTOMATION PYRAMID
UI
ServiceUnit/
ComponentMike Cohn
DEMO(web) ui test automation
Iteration N
AUTOMATION PLATFORM SUPPORTFully supported platform
Partial solution. Further work required in future to complete
Best efforts with known issues. Users can workaround these cases in the code. No major ongoing investment.
Currently no support but on the roadmap for future releases
Currently no support and none planned for now. Opportunity for partners to add this using the Extensibility support. Docs and samples around extensibility are here.
For latest info on this, refer this post.
Platform RTM RTM+
Notes
IE7/8 – HTML/AJAX
Windows Forms 2.0+
.NET Fx Controls fully supported, working on 3rd party support
WPF 3.5+.NET Fx Controls fully supported, working on 3rd party support
SharePoint 2007
Windows Win32 TBD – Known issues & Workarounds
MFC TBD – Known issues & Workarounds
FF3 – HTML/AJAX Currently in Beta
Dynamics (Ax) TBD – Release Plan
Silverlight TBD – Release Plan
Citrix/Terminal Services
The client (MTLM or VS) need to be on remote machine
Office Client Apps
IE 6 Opportunity for partners to add this using the Extensibility support. Docs and samples around extensibility are here.
Chrome/Opera/Safari
Flash/Java
SAP
AGILE TESTING QUADRANTS
functional testsexamplesstory testprototypessimulations
exploratory testingscenarios
usability testinguat (user acceptance testing)
alpha/beta
unit testscomponents tests
performance and load testingsecurity testing“ility” testing
TECHNOLOGY -FACING
CR
ITIQ
UE P
RO
DU
CT
SU
PP
OR
TIN
G T
HE T
EA
M
BUSINESS-FACING
DEMOperformance testing
Iteration N
but what about the cloud?
auctioncloud.com mashup service
ebay api’s
ebay auction service
ebay auction data
zillow.com public api’s
zillow.com service
zillow custom data
mls public api’s
mls service
bing maps public api’s
bing maps service
mls auction data
bing maps image store
pay attention to the details
care about quality
BECAUSE SOMEONE HAS TO!
QUESTIONS
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions,
it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.