the openoffice.org specification process demystified · examplary test case design • to reduce...

39
The OpenOffice.org Specification Process Demystified Christian Jansen, Jörg Sievers Sun Microsystems The OpenOffice.org Specification Process Demistyfied Christian Jansen, Jörg Sievers Sun Microsystems

Upload: others

Post on 13-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

The OpenOffice.org Specification Process Demystified

Christian Jansen,Jörg Sievers

Sun Microsystems

The OpenOffice.orgSpecification ProcessDemistyfied

Christian Jansen,Jörg Sievers

Sun Microsystems

Page 2: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

• Why do we need specifications?• Writing a specification• A specification template - Why?• Q&A

Agenda

Page 3: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

Why do we Need Specifications?

Page 4: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

How many testcases have tobe created afterthis change?

Negative values cannow be entered here

Page 5: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

... Way too manyBut...

Page 6: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

At least

12test case representatives

are needed formethodical testing

Page 7: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

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

Page 8: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

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

Page 9: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

More Impacts...

Page 10: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

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

Page 11: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

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

Page 12: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

• Specifiying saves your time• You increase the product quality• You save others' time• You can increase test coverage

systematically if needed

Conclusion

Page 13: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

Writing a Specification

Page 14: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

Start

i-TeamSetup

SpecificationDevelopment

SpecificationApproval

String Review

Development

QA

Documentation

Plan

Do

Review / Improve

Finish

Todays Process

Page 15: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

Tomorrows Process

Page 16: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

NoWaterfall

Model

Page 17: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

• 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?

Page 18: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

• Develop a common sense of the goal> Introduce the feature

• Nail down the priorities> Prioritize the sub-feature

Kicking off a New Feature...

Page 19: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

• 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...

Page 20: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

• 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

Page 21: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

• I-Team Kickoff• Detailed feature / sub-feature planning• First design sessions

Plan

Page 22: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

• Create prototypes• Write specification

Do

Page 23: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

Review

• i-Team reviews specification• Based on three essential rules

> R1: Complete> R2: Clear> R3: Simple

Page 24: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

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.

Page 25: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

• Reduction of defects in specification.• Reduction of defects in implementation.

Improve

Page 26: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

Finish

• Specification and implementationmust be identical

Implementation Specification

Page 27: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

A Specification Template - Why?

Page 28: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

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

Page 29: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

A Specification Template -Why?

...and thus it saves you and others time...

Page 30: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

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

Page 31: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

The New Specification Template

Page 32: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

There is Lots More Stuff in it ...A Help whichguides you throughthe template

Page 33: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

There is Lots More Stuff in it ...

SpecificationStatus Section

Abstract Section:The source for the“Guide to new features”

Page 34: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

There is Lots More Stuff in it ...

The i-Team

Page 35: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

There is Lots More Stuff in it ...

Links to importantreference documents

Page 36: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

There is Lots More Stuff in it ...

Tooling for“automatic”User Interfacespecification

Page 37: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

There is Lots More Stuff in it ...

Concrete examplesfor junior specificationwriters

Page 38: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

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

[email protected]

Page 39: The OpenOffice.org Specification Process Demystified · Examplary Test Case Design • To reduce the count of test cases some black-box methods (here: equivalence class partitioning

The OpenOffice.org Specification Process Demystified

Christian Jansen,Jörg Sievers

Sun Microsystems

Thank You!

Christian Jansen,Jörg Sievers

Sun Microsystems