the openoffice.org specification process demystified · examplary test case design • to reduce...
TRANSCRIPT
The OpenOffice.org Specification Process Demystified
Christian Jansen,Jörg Sievers
Sun Microsystems
The OpenOffice.orgSpecification ProcessDemistyfied
Christian Jansen,Jörg Sievers
Sun Microsystems
• Why do we need specifications?• Writing a specification• A specification template - Why?• Q&A
Agenda
Why do we Need Specifications?
How many testcases have tobe created afterthis change?
Negative values cannow be entered here
... Way too manyBut...
At least
12test case representatives
are needed formethodical testing
Examplary Test Case Design
• To reduce the count of test cases some black-box methods (here: equivalence class partitioning with boundary value analysis) are being used.> Find for each equivalence class a representative test case.> Combine all valid classes with one invalid class.
Parameter*
Valid Classes
Invalid Classes
Anchor Vertical By To
To paragraphTo character From Top -2.00....24.70 Margin; Paragraph Text;
Area; Page Text Area
To page;As character
Top; Bottom;Center
min_val...-2,00-Є;24,70+Є....max_val Entire page
*Preconditions: Size of frame = 5x5 cm; cm as metric; page size=A4; orientation=portrait
Test Case Representatives#
1
2
Anchor Vertical By To
To paragraph -2.0
To page
3
4
5
6
8
9
10
11
12
7
Result
To character
To character
To paragraph
As character
To paragraph
To paragraph
To character
To paragraph
To paragraph
To paragraph
From Top
From Top
From Top
From Top
From Top
From Top
Top
Top
Top
From Top
Bottom
Center
-1.43
-0.53
-0.01
-2.00
-2.0
24.71
-2.01
-1.01
-2.00
-0.90
-0.01
Margin
Paragraph Text
Area
Page Text Area
Margin
Entire page
Area
Paragraph Text
Margin
Margin
Margin
Page Text Area
-2.00
-1.43
-0.53
-0.01
To=0; by=locked
More Impacts...
Errors & Costs
10%
40% 50%
3% 5%7%
25%
50%
10%
500 DM 500 DM 500 DM 2.000 DM6.000 DM
25.000 DM
0% 0% 0%
Relative number of issues accrued
Relative number of issues found
Costs per error correction
Analyze Plan Implementation Dev. Tests QA Tests Customer
Ebert C., Dumke R (Hrsg.), Software-Metriken in der Praxis, Springer, Berlin/Heidelberg, 1996
Errors & Efforts on OOo
• QA evaluates issue
• Program Management sets target
• Developer> Evaluates issue> Sets up workspace> Fixes issue> Builds workspaces> Evaluates fix
• QA evaluates fix in installation set
• Release Engineeringintegrates workspace
• QA > Evaluates fix on master
workspace> Closes issue
• Customer installs fixed version
• Specifiying saves your time• You increase the product quality• You save others' time• You can increase test coverage
systematically if needed
Conclusion
Writing a Specification
Start
i-TeamSetup
SpecificationDevelopment
SpecificationApproval
String Review
Development
QA
Documentation
Plan
Do
Review / Improve
Finish
Todays Process
Tomorrows Process
NoWaterfall
Model
• These pre-requisites are needed> A requirement (customer need)....> ... and an i-Team
• Development starts with akickoff chat (IRC #openoffice, GAIM, ...)
How to Write a Specification?
• Develop a common sense of the goal> Introduce the feature
• Nail down the priorities> Prioritize the sub-feature
Kicking off a New Feature...
• Nail down the responsibilities> State clearly who is responsible for what> Let the i-Team know who delivers what
• Always keep the customer in mind> Wether an internal stakeholder or external
client, the customers satisfaction must be top priority
Kicking off a New Feature...
• Don't:> Design the feature:
This chat is for planning only. If there's design to be done, schedule another chat for that.
> Try to solve technical problemsDon't get bogged down in details atthis first chat.
> No AgendaAs this is a planning chat, this chat needs to be prepared. Long, unproductive chats exhaust people.
The Dont's in a Kickoff
• I-Team Kickoff• Detailed feature / sub-feature planning• First design sessions
Plan
• Create prototypes• Write specification
Do
Review
• i-Team reviews specification• Based on three essential rules
> R1: Complete> R2: Clear> R3: Simple
Specification Rules
• R1: CompleteFirst and foremost a specification has to be complete. That means all relevant aspects of a feature have to be captured.
• R2: ClearEach statement has to be unambiguously clear to Development, QA, User Experience, Documentation.
• R3: SimpleEach statement shall be as short and as simple as possible.
• Reduction of defects in specification.• Reduction of defects in implementation.
Improve
Finish
• Specification and implementationmust be identical
Implementation Specification
A Specification Template - Why?
A Specification Template - Why?
• It simplifies writing specifications,• It centralizes all information• It gives you clear guidance on:
> “What” belongs to a specification,> “How” to write a specification, and...
• ...It automates common tasks like specifying user interfaces
A Specification Template -Why?
...and thus it saves you and others time...
Issues of the Old Spec. Template
• Separation between specification templateand specification guide
• No links to required companion documents
• Unnecessary sections> Process related aspects
(e.g. i-Team approvals)> A motivation section,
an user scenarios section, etc.
• Missing rules on how to write andread a specification
• Lack of examples
The New Specification Template
There is Lots More Stuff in it ...A Help whichguides you throughthe template
There is Lots More Stuff in it ...
SpecificationStatus Section
Abstract Section:The source for the“Guide to new features”
There is Lots More Stuff in it ...
The i-Team
There is Lots More Stuff in it ...
Links to importantreference documents
There is Lots More Stuff in it ...
Tooling for“automatic”User Interfacespecification
There is Lots More Stuff in it ...
Concrete examplesfor junior specificationwriters
Further Information and Feedback
• Specification Project on OOo Wikihttp://wiki.services.openoffice.org/wiki/Category:Specification
• Specifaction Project Websitehttp://specs.openoffice.org/
• Specification Templatehttp://specs.openoffice.org/collaterals/template/OpenOffice-org-Specification-Template.ott
The OpenOffice.org Specification Process Demystified
Christian Jansen,Jörg Sievers
Sun Microsystems
Thank You!
Christian Jansen,Jörg Sievers
Sun Microsystems