2013 ZTP 08

background image

1

8

8

Jerzy R. Jaworowski,

Jerzy R. Jaworowski,

dr in

dr in

ż

ż

.

.

Instytut Teleinformatyki PK

Instytut Teleinformatyki PK

Zaawansowane techniki

Zaawansowane techniki

programowania

programowania

2013 / 2014

2013 / 2014

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

2

2

8

8

Zarys

Zarys

Definicja

Definicja

Development

Development

Prosty przyk

Prosty przyk

ł

ł

ad

ad

Zalety i wady

Zalety i wady

Framework

Framework

i

i

Do

Do

ś

ś

wiadczenia praktyczne

wiadczenia praktyczne

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

3

3

8

8

Test Driven Development

Test Driven Development

(TDD)

(TDD)

Ewolucyjne podej

Ewolucyjne podej

ś

ś

cie do technik

cie do technik

programowania (tworzenia aplikacji) w

programowania (tworzenia aplikacji) w

kt

kt

ó

ó

rym zobowi

rym zobowi

ą

ą

zani jeste

zani jeste

ś

ś

my stworzy

my stworzy

ć

ć

w pierwszym kroku test, kt

w pierwszym kroku test, kt

ó

ó

ry nie ma

ry nie ma

prawa zako

prawa zako

ń

ń

czy

czy

ć

ć

si

si

ę

ę

pomy

pomy

ś

ś

lnie dop

lnie dop

ó

ó

ki

ki

nie dopiszemy w kroku drugim nowego

nie dopiszemy w kroku drugim nowego

fragmentu kodu funkcjonalnego

fragmentu kodu funkcjonalnego

.

.

Istotnie r

Istotnie r

ó

ó

ż

ż

ni si

ni si

ę

ę

od podej

od podej

ś

ś

cia

cia

tradycyjnego w kt

tradycyjnego w kt

ó

ó

rym tworzymy kod, a

rym tworzymy kod, a

nast

nast

ę

ę

pnie go testujemy (by

pnie go testujemy (by

ć

ć

mo

mo

ż

ż

e !)

e !)

.

.

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

4

4

8

8

Development Cycle

Development Cycle

add functionality

add a test

run the test

everything ?

[Pass]

[Fail]

[Development

continues]

[Development stops]

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

5

5

8

8

Przyk

Przyk

ł

ł

ad

ad

Projektujemy elementarn

Projektujemy elementarn

ą

ą

metod

metod

ę

ę

,

,

kt

kt

ó

ó

ra posiadaj

ra posiadaj

ą

ą

c dwa argumenty

c dwa argumenty

Integer

Integer

, zwraca obiekt

, zwraca obiekt

Integer

Integer

stanowi

stanowi

ą

ą

cy ich sum

cy ich sum

ę

ę

.

.

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

6

6

8

8

Przyk

Przyk

ł

ł

ad

ad

Test

Test

Integer i =

Integer i =

new Integer(5);

new Integer(5);

Integer j = new Interger(2);

Integer j = new Interger(2);

Object

Object

o =

o =

sum(i,j

sum(i,j

);

);

Method

Method

background image

2

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

7

7

8

8

Przyk

Przyk

ł

ł

ad

ad

Test

Test

Integer i =

Integer i =

new Integer(5);

new Integer(5);

Integer j = new Interger(2);

Integer j = new Interger(2);

Object

Object

o =

o =

sum(i,j

sum(i,j

);

);

Method

Method

public static Object

public static Object

sum(Integer

sum(Integer

i,

i,

I

I

nteger

nteger

j)

j)

{

{

return new Object();

return new Object();

}

}

true

true

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

8

8

8

8

Przyk

Przyk

ł

ł

ad

ad

Test

Test

Integer i =

Integer i =

new Integer(5);

new Integer(5);

Integer j = new Interger(2);

Integer j = new Interger(2);

Object

Object

o =

o =

sum(i,j

sum(i,j

);

);

return

return

(o

(o

instanceof

instanceof

Integer)

Integer)

;

;

Method

Method

public static Object

public static Object

sum(Integer

sum(Integer

i,

i,

I

I

nteger

nteger

j)

j)

{

{

return new Object();

return new Object();

}

}

false

false

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

9

9

8

8

Przyk

Przyk

ł

ł

ad

ad

Test

Test

Integer i =

Integer i =

new Integer(5);

new Integer(5);

Integer j = new Interger(2);

Integer j = new Interger(2);

Object

Object

o =

o =

sum(i,j

sum(i,j

);

);

return

return

(o

(o

instanceof

instanceof

Integer)

Integer)

;

;

Method

Method

public static Object

public static Object

sum(Integer

sum(Integer

i,

i,

I

I

nteger

nteger

j)

j)

{

{

return new

return new

Integer

Integer

();

();

}

}

true

true

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

10

10

8

8

Przyk

Przyk

ł

ł

ad

ad

Test

Test

Integer i =

Integer i =

new Integer(5);

new Integer(5);

Integer j = new Interger(2);

Integer j = new Interger(2);

Object

Object

o =

o =

sum(i,j

sum(i,j

);

);

return

return

(o

(o

instanceof

instanceof

Integer)

Integer)

&&

&&

((new Integer(7)).equals(o))

((new Integer(7)).equals(o))

;

;

Method

Method

public static Object

public static Object

sum(Integer

sum(Integer

i,

i,

I

I

nteger

nteger

j)

j)

{

{

return new

return new

Integer

Integer

();

();

}

}

false

false

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

11

11

8

8

Przyk

Przyk

ł

ł

ad

ad

Test

Test

Integer i =

Integer i =

new Integer(5);

new Integer(5);

Integer j = new Interger(2);

Integer j = new Interger(2);

Object

Object

o =

o =

sum(i,j

sum(i,j

);

);

return

return

(o

(o

instanceof

instanceof

Integer)

Integer)

&&

&&

((new Integer(7)).equals(o))

((new Integer(7)).equals(o))

;

;

Method

Method

public static Object

public static Object

sum(Integer

sum(Integer

i,

i,

I

I

nteger

nteger

j)

j)

{

{

return new

return new

Integer

Integer

(

(

i.intValue

i.intValue

() +

() +

j.intValue

j.intValue

()

()

);

);

}

}

true

true

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

12

12

8

8

Korzy

Korzy

ś

ś

ci

ci

Zasadnicza redukcja odst

Zasadnicza redukcja odst

ę

ę

pu czasu

pu czasu

pomi

pomi

ę

ę

dzy podj

dzy podj

ę

ę

ciem decyzji

ciem decyzji

(projektowej, implementacyjnej) a

(projektowej, implementacyjnej) a

obserwowanym efektem (szybkie

obserwowanym efektem (szybkie

sprz

sprz

ęż

ęż

enie zwrotne)

enie zwrotne)

Zmusza niejako developer

Zmusza niejako developer

ó

ó

w do

w do

tworzenia kodu podatnego na

tworzenia kodu podatnego na

testowanie

testowanie

Stwarza naturaln

Stwarza naturaln

ą

ą

platform

platform

ę

ę

gruntownego testowania kodu

gruntownego testowania kodu

background image

3

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

13

13

8

8

Wady

Wady

Niew

Niew

ą

ą

tpliwie potrzebna jest pewna

tpliwie potrzebna jest pewna

dodatkowa ilo

dodatkowa ilo

ść

ść

czasu wyd

czasu wyd

ł

ł

u

u

ż

ż

aj

aj

ą

ą

ca

ca

proces tworzenia rozwi

proces tworzenia rozwi

ą

ą

zania

zania

Pewne elementy kodu (pewne

Pewne elementy kodu (pewne

konstrukcje) s

konstrukcje) s

ą

ą

trudne do testowania

trudne do testowania

analogiczn

analogiczn

ą

ą

metod

metod

ą

ą

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

14

14

8

8

F

F

rameworks

rameworks

JUnit

JUnit

Definicja struktury kodu testuj

Definicja struktury kodu testuj

ą

ą

cego

cego

Narz

Narz

ę

ę

dzia wspomagaj

dzia wspomagaj

ą

ą

ce proces

ce proces

testowania

testowania

A Simple and Practical Approach to

A Simple and Practical Approach to

Unit Testing: The JML and

Unit Testing: The JML and

JUnit

JUnit

Way

Way

by Y.

by Y.

Cheon

Cheon

and G. T. Leavens

and G. T. Leavens

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

15

15

8

8

JUnit

JUnit

http://junit.sourceforge.net/doc/cookstour/cookstour.htm

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

16

16

8

8

JUnit

JUnit

assertArrayEquals

assertArrayEquals

()

()

assertEquals

assertEquals

()

()

assertTrue

assertTrue

() +

() +

assertFalse

assertFalse

()

()

assertNull

assertNull

() +

() +

assertNotNull

assertNotNull

()

()

assertSame

assertSame

() +

() +

assertNotSame

assertNotSame

()

()

assertThat

assertThat

()

()

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

17

17

8

8

Case Study: TDD Results

Case Study: TDD Results

Stopa b

Stopa b

łę

łę

d

d

ó

ó

w

w

50%

50%

redukcji

redukcji

Produktywno

Produktywno

ść

ść

Poni

Poni

ż

ż

ej szacunk

ej szacunk

ó

ó

w pocz

w pocz

ą

ą

tkowych

tkowych

Cz

Cz

ę

ę

stotliwo

stotliwo

ść

ść

test

test

ó

ó

w

w

86%

86%

test

test

ó

ó

w zautomatyzowana

w zautomatyzowana

Projektowanie

Projektowanie

Du

Du

ż

ż

e u

e u

ł

ł

atwienia w przypadku p

atwienia w przypadku p

ó

ó

ź

ź

niejszych zmian

niejszych zmian

Integra

Integra

cja

cja

Testowanie ujawni

Testowanie ujawni

ł

ł

o spodziewane problemy z

o spodziewane problemy z

pewnym wyprzedzeniem

pewnym wyprzedzeniem

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

18

18

8

8

Pewne aspekty TDD

Pewne aspekty TDD

Testowanie z

Testowanie z

ł

ł

o

o

ż

ż

onych hierarchii

onych hierarchii

obiekt

obiekt

ó

ó

w

w

Obiekty imituj

Obiekty imituj

ą

ą

ce (

ce (

mock

mock

objects

objects

)

)

Dobre praktyki

Dobre praktyki

Testowanie w warunkach pracy

Testowanie w warunkach pracy

grupowej (team

grupowej (team

testing

testing

)

)

Testowanie kodu obcego (

Testowanie kodu obcego (

legacy

legacy

code

code

)

)

background image

4

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

19

19

8

8

TDD w praktyce

TDD w praktyce

Metodologie in

Metodologie in

ż

ż

ynierii oprogramowania

ynierii oprogramowania

(

(

np

np

.

.

waterfall

waterfall

)

)

Zwinne (lekkie)

Zwinne (lekkie)

metodyki

metodyki

XP

XP

(

(

Test Driven Development

Test Driven Development

)

)

The Crystal family

The Crystal family

MSF

MSF

-

-

Agile

Agile

Highsmith's

Highsmith's

ASD (Adaptive Software Development)

ASD (Adaptive Software Development)

Scrum

Scrum

Feature Driven Development

Feature Driven Development

DSDM (Dynamic Systems Development Method)

DSDM (Dynamic Systems Development Method)

Rational Unified Process

Rational Unified Process

&

&

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

20

20

8

8

Unit Testing

Unit Testing

u

u

ł

ł

atwienie

atwienie

ż

ż

ycia developera

ycia developera

U

U

ł

ł

atwienie procesu wykrywania

atwienie procesu wykrywania

b

b

łę

łę

d

d

ó

ó

w

w

U

U

ł

ł

atwienie utrzymania kodu

atwienie utrzymania kodu

U

U

ł

ł

atwienie interpretacji

atwienie interpretacji

(rozumienia) kodu

(rozumienia) kodu

U

U

ł

ł

atwienie procesu rozwoju kodu

atwienie procesu rozwoju kodu

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

21

21

8

8

Poprzednio

Poprzednio

T

T

Testy nie posiada

Testy nie posiada

ł

ł

y najcz

y najcz

ęś

ęś

ciej

ciej

jednolitej struktury

jednolitej struktury

Nie by

Nie by

ł

ł

y zwykle powtarzalne

y zwykle powtarzalne

Nie obejmowa

Nie obejmowa

ł

ł

y du

y du

ż

ż

ych obszar

ych obszar

ó

ó

w

w

kodu

kodu

Nie spe

Nie spe

ł

ł

nia

nia

ł

ł

y naszych oczekiwa

y naszych oczekiwa

ń

ń

co

co

do

do

ł

ł

atwo

atwo

ś

ś

ci ich tworzenia (by

ci ich tworzenia (by

ł

ł

o

o

pracoch

pracoch

ł

ł

onne i wymaga

onne i wymaga

ł

ł

o

o

najcz

najcz

ęś

ęś

ciej specyficznej wiedzy)

ciej specyficznej wiedzy)

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

22

22

8

8

Jak u

Jak u

ż

ż

ywamy

ywamy

frameworku

frameworku

Tworzenie test

Tworzenie test

ó

ó

w

w

Wsparcie dla tworzenia (implementacji) i zarz

Wsparcie dla tworzenia (implementacji) i zarz

ą

ą

dzania

dzania

zbiorem test

zbiorem test

ó

ó

w

w

Odniesienia do kodu wynikowego, zarz

Odniesienia do kodu wynikowego, zarz

ą

ą

dzanie

dzanie

atrybutami

atrybutami

Wykonanie test

Wykonanie test

ó

ó

w

w

Umo

Umo

ż

ż

liwia wykonanie wszystkich test

liwia wykonanie wszystkich test

ó

ó

w, pewnej grupy

w, pewnej grupy

lub okre

lub okre

ś

ś

lonego pojedynczego testu

lonego pojedynczego testu

.

.

Z wykorzystaniem linii komend lub GUI.

Z wykorzystaniem linii komend lub GUI.

Prezentacja wynik

Prezentacja wynik

ó

ó

w

w

Bezpo

Bezpo

ś

ś

rednio wynik typu Pass/

rednio wynik typu Pass/

Fail

Fail

Szczeg

Szczeg

ó

ó

ł

ł

y poszczeg

y poszczeg

ó

ó

lnych przebieg

lnych przebieg

ó

ó

w b

w b

łę

łę

dnych

dnych

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

23

23

8

8

TDD

TDD

/

/

JUnit

JUnit

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

24

24

8

8

.NET Test Frameworks

.NET Test Frameworks

NUnit

NUnit

Csunit

Csunit

ZaneBug

ZaneBug

MbUnit

MbUnit

Team System Unit Testing

Team System Unit Testing

background image

5

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

25

25

8

8

Scenariusz

Scenariusz

T

T

Implementation

Implementation

7d

7d

Testing

Testing

3d

3d

Fix Bugs

Fix Bugs

3d

3d

Testing

Testing

3d

3d

Fix Bugs

Fix Bugs

2d

2d

Testing

Testing

1d

1d

Release(19d)

Release(19d)

Implementation

Implementation

14d

14d

Testing

Testing

3d

3d

Fix Bugs

Fix Bugs

2d

2d

Testing

Testing

1d

1d

Fix Bugs

Fix Bugs

1d

1d

Testing

Testing

1d

1d

Release(22d)

Release(22d)

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

26

26

8

8

Scen

Scen

ariusz

ariusz

Implementation

Implementation

7d

7d

Integration

Integration

7d

7d

Testing

Testing

3d

3d

Fix Bugs

Fix Bugs

3d

3d

Testing

Testing

3d

3d

Fix Bugs

Fix Bugs

2d

2d

Testing

Testing

1d

1d

Release(26d)

Release(26d)

Implementation

Implementation

14d

14d

Integration

Integration

2d

2d

Testing

Testing

3d

3d

Fix Bugs

Fix Bugs

2d

2d

Testing

Testing

1d

1d

Fix Bugs

Fix Bugs

1d

1d

Testing

Testing

1d

1d

Release(24d)

Release(24d)

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

27

27

8

8

Najlepsze praktyki

Najlepsze praktyki

Test

Test

uj

uj

to, co trzeba testowa

to, co trzeba testowa

ć

ć

Rezygnuj z test

Rezygnuj z test

ó

ó

w lub modyfikuj je, gdy

w lub modyfikuj je, gdy

zachodzi taka potrzeba

zachodzi taka potrzeba

Zwracaj uwag

Zwracaj uwag

ę

ę

na

na

pokrycie kodu

pokrycie kodu

Unikaj skomplikowanych rozwi

Unikaj skomplikowanych rozwi

ą

ą

za

za

ń

ń

w

w

zakresie logiki testowania

zakresie logiki testowania

Tw

Tw

ó

ó

rz testy proste i

rz testy proste i

ł

ł

atwe w wykonaniu

atwe w wykonaniu

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

28

28

8

8

Najlepsze praktyki

Najlepsze praktyki

Konwencje nazewnictwa jednostek

Konwencje nazewnictwa jednostek

testowania

testowania

Konwencje nazewnictwa zmiennych

Konwencje nazewnictwa zmiennych

Staranna separacja asercji oraz akcji

Staranna separacja asercji oraz akcji

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

29

29

8

8

T

T

rzeczywisto

rzeczywisto

ść

ść

Nie jest wcale

Nie jest wcale

ł

ł

atwe do nauczenia si

atwe do nauczenia si

ę

ę

Praca z kodem odziedziczonym

Praca z kodem odziedziczonym

(obcym)

(obcym)

Wymaga pewnej samodyscypliny

Wymaga pewnej samodyscypliny

Trzeba chcie

Trzeba chcie

ć

ć

stosowa

stosowa

ć

ć

T

T

Ale je

Ale je

ż

ż

eli ju

eli ju

ż

ż

umiesz i u

umiesz i u

ż

ż

ywasz to

ywasz to

T

T

Idzie z czasem coraz

Idzie z czasem coraz

ł

ł

atwiej i

atwiej i

ł

ł

atwiej

atwiej

Staje si

Staje si

ę

ę

na

na

ł

ł

ogiem, z kt

ogiem, z kt

ó

ó

rego

rego

ł

ł

atwo nie

atwo nie

rezygnujemy

rezygnujemy

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

30

30

8

8

ROI

ROI

Potencjalne

Potencjalne

b

b

łę

łę

dy produkcyjne

dy produkcyjne

zredukowane nawet do

zredukowane nawet do

90%

90%

-

-

>

>

bardziej stabilny produkt ko

bardziej stabilny produkt ko

ń

ń

cowy

cowy

Lepiej zaprojektowane interfejsy

Lepiej zaprojektowane interfejsy

Naturalna dokumentacja API

Naturalna dokumentacja API

Strategia bezpiecze

Strategia bezpiecze

ń

ń

stwa

stwa

w

w

przesz

przesz

ł

ł

o

o

ś

ś

ci i na przysz

ci i na przysz

ł

ł

o

o

ść

ść

Zadowolenie Klienta

Zadowolenie Klienta

Zadowolenie zespo

Zadowolenie zespo

ł

ł

u

u

background image

6

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

31

31

8

8

IBM: XP

IBM: XP

-

-

Adherence Metrics

Adherence Metrics

XP

XP

-

-

am

am

Metric

Metric

Practice

Practice

Old

Old

New

New

Automated test class per user

Automated test class per user

story

story

Testing

Testing

0.11

0.11

0.45

0.45

Test coverage (statement)

Test coverage (statement)

Testing

Testing

30%

30%

46%

46%

Unit test runs per person day

Unit test runs per person day

Testing

Testing

14%

14%

11%

11%

Test LOC/Source LOC

Test LOC/Source LOC

Testing

Testing

0.26

0.26

0.42

0.42

Accept test execute

Accept test execute

Testing

Testing

Manual

Manual

Manual

Manual

Did customers run your

Did customers run your

acceptance tests?

acceptance tests?

Testing

Testing

No

No

No

No

Pairing Frequency

Pairing Frequency

Pair Programming

Pair Programming

<5%

<5%

48%

48%

Release Length

Release Length

Short Release

Short Release

10 months

10 months

5 months

5 months

Iteration Length

Iteration Length

Short Release

Short Release

Weekly

Weekly

Weekly

Weekly

© Laurie Williams 2007

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

32

32

8

8

© Laurie Williams 2007

IBM: XP

IBM: XP

-

-

Outcome Measures

Outcome Measures

XP Outcome Measures

XP Outcome Measures

Old

Old

New

New

Response to Customer Change

Response to Customer Change

(Ratio (user stories in + out) /total)

(Ratio (user stories in + out) /total)

NA

NA

0.23

0.23

Pre

Pre

-

-

release Quality

release Quality

(test defects/KLOEC of code)

(test defects/KLOEC of code)

1.0

1.0

0.50

0.50

Post

Post

-

-

release Quality

release Quality

(released defects/KLOEC of code)

(released defects/KLOEC of code)

1.0

1.0

0.61

0.61

Productivity (stories / PM)

Productivity (stories / PM)

Relative KLOEC / PM

Relative KLOEC / PM

Putnam Product. Parameter

Putnam Product. Parameter

1.0

1.0

1.0

1.0

1.0

1.0

1.34

1.34

1.70

1.70

1.92

1.92

Customer Satisfaction

Customer Satisfaction

NA

NA

High (qualitative)

High (qualitative)

Morale (via survey)

Morale (via survey)

1.0

1.0

1.11

1.11

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

33

33

8

8

Chwila na refleksj

Chwila na refleksj

ę

ę

...

...

Czy dowiedzia

Czy dowiedzia

ł

ł

e

e

ś

ś

si

si

ę

ę

czego

czego

ś

ś

nowego ?

nowego ?

Czy dowiedzia

Czy dowiedzia

ł

ł

e

e

ś

ś

si

si

ę

ę

czego

czego

ś

ś

Twym zdaniem

Twym zdaniem

wa

wa

ż

ż

nego ?

nego ?

Czy dostrzegasz zwi

Czy dostrzegasz zwi

ą

ą

zek i przydatno

zek i przydatno

ść

ść

przekazanych tre

przekazanych tre

ś

ś

ci w zawodzie, kt

ci w zawodzie, kt

ó

ó

ry sobie

ry sobie

wybra

wybra

ł

ł

e

e

ś

ś

?

?

Masz ewentualne uwagi b

Masz ewentualne uwagi b

ą

ą

d

d

ź

ź

sugestie,

sugestie,

podziel si

podziel si

ę

ę

nimi ...

nimi ...

jrj@pk.edu.pl

jrj@pk.edu.pl

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

34

34

8

8

Dzi

Dzi

ę

ę

kuj

kuj

ę

ę

za uwag

za uwag

ę

ę


Wyszukiwarka

Podobne podstrony:
2013 10 08 Dec nr 4 Regulamin KP PSP Ostrow Wlkpid
2013 03 08
03 OZE 2013 11 08 sk
2013 vol 08 GLOBALNE ZARZĄDZANIE JAKO MODEL DECYZYJNY STARA KONCEPTUALIZACJA NOWEJ PRAKTYKI
2013 05 08 Pod Odpowid 28274 Nieznany (2)
2013 05 08 Pod Arkusz
03 OZE 2013 11 08 en
2013 03 08, ćwiczenia
2013 ZTP 05
plan zajec 2013 14 (08 10) zaoczne rok3 sem5(v3)
2013 ZTP 04
2013 ZTP 07
2013 ZTP 06
2013 ZTP 00
2013 ZTP 03
2013-04-08, histopatologia
2013 ZTP 02
2013 10 08

więcej podobnych podstron