research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/quality... · 2002-03-25 ·...

Post on 19-Mar-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

�� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

CISC 323: Intro to SoftwareEngineering

�! #"%$'&)(+*-,/.)01(32546$87

�� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

What Does Quality Mean?

• Operational meanings:– Software does what is wanted and expected

– On budget and on schedule

– Users are happy

– Level of bugginess is tolerable

– Changes are not too expensive

– Software is cost-effective in use and supportsorganizational mandate

�� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Definitions of Quality

• OED: the standard of something when compared to otherthings like it (a wine of excellent quality); of high quality,general excellence

• Crosby: zero defects

• ISO: The totality of features and characteristics of a productor service that bear on its ability to satisfy specified or impliedneeds.

• Juran: Fitness for Purpose

• DoD: The degree to which the attributes of the softwareenable it to perform its intended end use. 9� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Quality is Relative

• Rolls Royce: quality when cost is no object

• Ford Taurus: quality tradeoffs when costis a factor

• Mini: minimum acceptable quality whencost is the dominant factor.

• Costs include initial cost, cost of operation, andcost of repairs.

:� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Quality -- General

• is multidimensional (all aspects of a car)

• is subject to constraints (e.g. cars must fit onroads)

• is about acceptable compromises (e.g. poorerride for lower cost)

• criteria are not independent (e.g. fuel use vs.vehicle weight)

• is not absolute (all levels of cars have quality) ;� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Characteristics of Software

• not physical

• needs are usually uncertain

• needs change

• platforms change (CPUs, OS, network)

• high expectations, especially of adaptability

2

�� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Changing Approaches toSoftware Quality

• increasing use of metrics

• increasing emphasis on process, componentsand intermediate products, as opposed to theend product

• software crisis persists, but progress is beingmade

�� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Dimensions of Quality

• A Partial List:– Timeliness

– Functionality

– Cost

– Correctness

– Reliability

– Maintainability

�� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Quality - Software

• is multidimensional (portability, usability, functionality)• is subject to constraints (regulations, rules,

resources)

• is about acceptable compromises (e.g. lessfunctionality / lower cost)

• criteria are not independent (e.g. efficiency vsmaintainability)

• is not absolute (different levels of quality areacceptable for different software types

� �� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

How can the Dimensions ofQuality be assured?

�������� ����� � ����� �������������� ��� ��� ��������� ������������� ������ �"!$#��� %� ����� #���&!"�����#�� �!"��� �����'!"��(�� ������#�� ��)��� ���*���#������� �+ �������, ��$-�#���� � � ��

���� %!�#��� %��$�!$���������&� � ������ ���*#��� �����'(������ ���'� ����#��������� ���� �� �)����� .-*#���� � � ��

��� ��#��*���*#� / ��$���)��� �*��!$��� 0� � � �������� �������� �� !�� ��� ���1�#��� � ���� 23���546 ��������� �)�$������

-*#���� � ��7)��� � � � ���� � ���������')���� � ���� � ���

� �� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Cost of Quality

����� �)���� � ���8:9�; <�= > ? @,A = <�B�B�> B C8ED F�G H3<�=+? I J K�B�> J <�= G I�L�> I+M.N8E? I�N ?5I 9�;�> A H3I�B+?8E? G <�> B�> B C

�O������� ��� � ���8P> B Q A�G F�J I N NSR�> B+? I�G A�G F�J I N N

> B NTA I J ? > F�B8:I 9�;�> A H3I�B+?5JT<�= > U G <+? > F�B3R

H3<�> B+? I�B <�B JTI8E? I�N ? > B C

�7� ��� � #�� $VW� �� �� �����8PG I+M.F�G X8PG I�A <�> G8ED <�> = ;�G I3H3F�Y�I3<�B <�= @+NT> N

�7� ��� � #�� $V3�Z� �� �����8:JTF HWA�= <�> B+?[G I�N F�= ;+? > F�B8PA�G F�Y�; J ?[G I�? ;�G B3R

G I�A�= < JTI H3I�B+?8PK I�= AW= > B I3NT;�A�A F�G ?8EM.<�G G <�B+? @/M.F�G X

� �� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Views of Quality(not software specific)

\^]`_ a/b*c�d�e/bSfSe/b*gTa/h ikj�e/lS_Te/m�aWn o p^j�g qSesr f/e*a/h o\�tWc�eS_�i/u r gTbSeSc�c&u v/_"w/lS_ w*v/c�e\yx$a/bSlSu aSd�g lS_ r bSzWi3d�v/bSu v/_ {Ea/b*d�esgTvsc�w*eSd\y|*_TvSf3l*d�g�i3d�qSaS_Ta*d�g e/_ r c�g r d�c&vSuWg qSesw/_ v/f/lSd�g\7}0a/h l*e/~ �*aSc�eSfWi3�&r h h r b*z3bSe*c�c�gTv6wSa[�

3

� �� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

User View

\Od�a/bs�Sesq/r z3qSh � w*e/_ c�v/bSa/h r � eSf\Og �kw/r d�a/hSl*c�eS_��.r e*��cSi� � �� � ����� � � �� ���� � ��� !"������� #�� ����� � � �

� 9� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

ISO 9126

source: http://www.cse.dcu.ie/essiscope/sm2/9126ref.html

� :� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Manufacturing View

\Oa��[v/r f _Te*��v/_ mEaSbSfsaSc�c�vSd*r a*gTe*f6d�vSc�gTc\OvSu gTe/bsh eSa*f/c&g v6w/_TvSd�eSc�c&u vSd*l*c���� ���������*~����\�wS_TvSd�e*c�c&fSvSeSc&bSvSg z/lSa/_ a/bSg eSe z/vSvSf wS_TvSf3l*d�gTc��

v/b/h �:z3lSaS_TaSbSgTe*eScElSb/r u v/_ { r g �PvSuWv/lSg wSlSg

�;

� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Product View

\�{ e*aSc�l/_Tesr bSgTeS_ bSaSh*d�qSaS_TaSd�gTeS_ r c�gTr d�c����� �����#�� �!"��� � ������������������������ �5��$�5�%��� ���*#��� � �� � ����������*������ �*���! �"� !"��� ���5 .�����#�� $-*#���� � ����.�Z� �� ������������� ���� �� � �� � ���

\�{ e*aSc�l/_Te e�#[gTe/_TbSaSh*d*q*a/_Ta*d�gTe/_Tr c�g r d�c���%$ ��� � ������������, �&#����� &+!"����#�� ���� #�� ��k)5� �4`�� !"�����#�� �!"��� � ����������$����������������� ���*#��� � � � �')( �S����� ����������� �) *"

� �� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Value-based view

\�qSeSh wSc�gTvsf/e*d*r fSesgT_TaSfSe/~ v/u u c&f/l/_Tr bSzfSe��keSh v/w/{Ee/bSg� ������ S)������ �� � ����� � � �� ������ S)������ #����� � ������� � �

\Od�vSc�g gTvsd�v/bSc�l/{ eS_"r c&a*u u eSd�gTeSf6�[�Pc�d�a/h e� ��� ���')���� #�!"���� ���*#��� �"����)������� ������/���� ���� )���

)���� #�\+�kaSh lSesr c&f/e*uTr bSe*f �[�� ���� ��� � ����� ��)5� �����,&���� ����#��� � )5� �'������������!"��� �� ��� �5� � %�������*� #���� � �� � �� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Problems with Qualities

\.-/lSa/h r gTr eSc&aS_Tesa*g vSfSf/c&�&r g q v/bSesaSbSvSg q*e/_� ��� 4,����� �$���*!$��� ��!$� ��/ A F�G ? <�U�> = > ? @/L�I�G NT; N/A I�G D F�G H3<�B J I/ N I J ;�G > ? @3L+I�G NT; NkD <�;�= ?�? F�= I�G <�B J I/ H3F�Y�;�= <�G > ? @/L�I�G NT; NSI�D D > J > I�B J @

\Of/r uTuTr d�l/h g � r bsgT_ �.r b*z6gTv6{EeSa*c�l/_Te0-3l*a/h r g r e*c&e!1 z)1 paSd�d�l/_ aSd��kpWlSc�aS�/r h r g �

\O�&qSa*g f/vSe*c2-/lSa/h r g � _Te*a/h h �P{ e*a/b!�

4

� �� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Proposed solution 1:Focus on Product

\�{ vSc�g f3r {Ee/b*c�r v/bSc&vSu�-/lSa/h r g �Pa/_ e6{EeSa*c�l/_ eSfaSu g e/_ g q*esu a*d�g

\�bSe*eSfsgTv6r f/eSbSg r u �:aSd�g r v/bSc�g qSa*g d�a/b e/{s�*eSfbSe*eSfSeSf -3l*a/h r g r e*cEr bsgTqSe6wS_TvSf/lSd�gTc�pWl/w u _ v3b*g

\�r {swSh e/{Ee/b*gTaSgTr v3b0-3l*a/h r g �P{ vSfSe/h i3r f/eSbSg r u �P�&q*aSgg q*e6wS_TvSz3_TaS{s{Ee/_Wd�aSbsfSvsgTvse/bSc�l/_Te0-3l*a/h r g �� � � ��(, ���� ����� � �*���, ����� �*��� �)����-*#���� � � ��

� �� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Proposed Solution 1 (cont’d)

\�_Te -3lSr _Te/{Ee/b*gTc2-/lSa/h r g � {Ev/fSe/h i/a/h hS_ e�-/l/r _TeS{ eSbSgc�g aSgTeS{ eSbSgTcE{ lSc�g"�Ses{ e*aSc�lS_TaS�/h e

\OfSeSc�r z/b -/lSa/h r g � {Ev/fSe/h i/f/e*uTr bSe0-3lSaSh r g r e*c&u v/_fSeSc�r z/bSp r fSe/b*g r u �Pd�qSaS_Ta*d�g e/_ r c�g r d�c&vSuWf/e*c�r z3b g qSa*g��v/l/h fse/{ �Se*f6g q*v/c�e -/lSaSh r g r eSc

� �� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Proposed solution 2:Focus on Process

\�r bSg eSz/_TaSg e -3l*a/h r g �Pf/e*d�r c�r v/bScEr b*gTvsg qSe f/e*c�r z/bwS_TvSd�e*c�c�p3e)1 z�1Ti� ���'#���� ����-*#���� � �'�������(�� � �+ � �*#�� � ��� � ��������� � �*� �

������ �*�� ������ �� !�� ��� ���' ��� � ���&��� � �� � ��#��� � ���� � ���"� ��� � ��4� ���&�$������#�!"��� ��&������ ������� ��������

� �� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Qualities Discernable at Runtime

\�w*e/_Tu v/_ {Ea/bSd�e\Oc�e*d�l/_ r g �\Oa��[a/r h aS�/h r g �\OuTl/b*d�gTr v3b*a/h r g �\�lSc�a/�Sr h r g �

� �� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Qualities Not Discernable atRuntime

\�{ vSf/r uTr a/�Sr h r g �\�w*v3_ gTa/�Sr h r g �\�_TeSlSc�aS�/r h r g �\OgTe*c�gTaS�/r h r g �� ���� '4`� �4��� ����� ��� 4`��� ������&��&!"����' �

���!"�����+ +� �� &� �0� ��#�� �, ��� �*#����$�Z����#� � ��������� �� ��+ � ���

� � �� �� ��' �$��� ����� ��� #�� ����������#�!$��� �� � �*� �S� ������ �� +� �*����.���*������ ���/� ��� ��� !"�� � ���&��� �*� �����/� ����� �!$��� ������)��� �*��!$��� � 9� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Business Qualities

\Og r {EesgTv6{Ea/_ m�eSg\Od�vSc�g\�wS_Tv � eSd�gTe*f h r u eSgTr { e v/uWc��kc�g e/{\OgTaS_Tz/e*gTe*f {Ea/_ m�eSg\�r bSg eSz/_TaSgTr v/b �&r g qse #.r c�gTr bSz6h eSzSaSd��Pc��kc�gTeS{ c

5

� :� � � � ������ � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

What's Ahead

� eS{ aSr bSf/eS_ vSu { a*gTe/_Tr a/h*aS�Sv/lSg�-3lSaSh r g �:uTvSd�lSc�eSc&v/bgT��vsgTv/wSr d�c&_Te/h a*gTe*f6gTvsc�vSu gT��aS_Te -/lSaSh r g �0i��� ��� � �����[� � ����� �������� ��� �"����Z����#� � ����� �5� 4`��� ������

�Z���!$� ��� ���&� ���#�� � � �����' ����� � Z5� ���' ��$���� ��� � "�������� ��� � ��������� ��� ���������! ��!�"������ !#$� �%&'�(� � �)��� ���*&�!� + ���*����,��- ��!�

. /0 1 2 2 3�45�6 3 7 8 2 9 5 7 : ; < = > ? ='@ . @ A : : B C D D E E E F G 5 F H 1 2 2 3 5 1 F G I D J G 7 5 G @ . @

What is Software Inspection?

KMLNPO�QSR�T�UVO�N�WX�YY[Z�N\YZ R�Z'] WR�T T ^_RV`�RVT ^baX\RYN�c Z�d&R�O�XeU�O�N�fPg�WZhRV`�fiO�X�WNVO�fiQ�X�Z�O'] WY�O�X�T R�Z�X�fZ�N\Z'j�R�Z-U�O�N�fPg�WZ$k

KMlh] c c XVO Y[c�O�NVQm] `�c�NVO�QSRVT�n'd&R�T o�p�Z�jVO�NVg�qVj�Yn�NVOn$O�Xbr"] X�d&Ynst�� ��� �-������ ��$ 't_��� ��*�,��� -� ���� ��� *&�!�"%�� �!� ��V� !u! ��!�"*� !� ��� �t_�- !� � � �$

. v0 1 2 2 3�45�6 3 7 8 2 9 5 7 : ; < = > ? ='@ . @ A : : B C D D E E E F G 5 F H 1 2 2 3 5 1 F G I D J G 7 5 G @ . @

IEEE Definition

n�k k k R\c NVO'Q�RVT�XbrwRVT g�R�Z�] NV`SZ�X�W�j�`V] xPg�Xe] `Sd[jV] W�jYN�c Z�d&R�O�XeO X�xVgV] O�X�QSX�`�Z�YyPfVX�Y�] qV`�yzNVOhWN�f�X RVO XXw{bRVQS] `�X�fi] `SfVX�Z�RV] T�|b^_R\U�X�O�YNV`\NVOzqPO�NVg�U N�Z'j�X�OZ'j�RV`\Z�j�X\R�g�Z'j�NVO Z�N\f�X�Z�X�W�Zzc RVgVT Z Yy}rw] NPT R�Z'] NV`�Y&NVcf�XwrwX�T NVUVQ�XV`�ZzYZ�R�`�f�RVO�f�YyzR�`�f\N�Z'j�X�OU�O�NV|VT X�QSY�k k k n

~ ~�� �$���P�� �'���'�'� �z�� �������'� �P�$�����$� � ���'� �P�$���!� �$�'�'� � ����� �$� �z� �$�'� �����

. �0 1 2 2 3�45�6 3 7 8 2 9 5 7 : ; < = > ? ='@ . @ A : : B C D D E E E F G 5 F H 1 2 2 3 5 1 F G I D J G 7 5 G @ . @

History

K��)O R�fV] Z'] NV`�R�T�QSX�R�`V] `�qeN�ch] `�Y�U�X�WZ'] NV`Pst������� ��� � �%�� + &��� �*�,������!�"�[�-����,�� ���� ,�� � �%[��� ��$ 't_��+� ($� �$������ �*�,���� �� !u!��� ,��� [�� �� ������ ��%��V�-���� ��,�� �!� � ��%t���� � ��&��,!��� +�� ��,%�+&� � %��� ��,}� ��� '�V�$ ��&�- !� � � �$

KM�&] W�j�R�X�TVLR�q�RV`\R�Z-�$ P��st_,' *&�� ��� � ���V��� ���$ '$ }� �&� ���� ���"$�!� � ����� &¡ �$�*� !¢t_� ���*����� ������� ��V� �[£�¤¥�¦t��!� � ����$��� � *[§�¨���%����������� ��� � �����§t������� ��� � ���[�� ���' $-+��-� ��� !©�� ��* *&ªe� !� � � *�� ��$ �����%��� ��%�� $ ��� ��+

. «0 1 2 2 3�45�6 3 7 8 2 9 5 7 : ; < = > ? ='@ . @ A : : B C D D E E E F G 5 F H 1 2 2 3 5 1 F G I D J G 7 5 G @ . @

What Gets Inspected?

¬ ������ ��� � ���[�� ���' $-� ��� � � ��� � �,�$ *�� �[� ���� �����'�(� � �)��� ¡ �$�*� �¢

¬®­ ©�� ��* *�� �[� ���� ,�*� ���� �*����,�� �!� ��¯�°$±'°$² ³�´�µ ´ ¶ · ¸'¹�º$µ · ¸'»P¸$±�¼ ´¯�½$¸'´�µ ¾�±P½'¿$À'º'»P¸$±�¼ ´¯�¼ ¸$´ ¼bÁ$² °$±'´¯_º'´ ¸$·»P°�±$º'°$² ´¯�¸�¼ À�Â

¬Äà ��!u! &� ���� ,*� �h*�� �%�� ���-$����� �$ ���' �,*��Å �$�*� �� !� �ƬÈÇ ���- &�!� + ��V� �*�,�� � � �-+�!u! ��*����!� *&������ ��� � ����� ���*� $� %���*����,��- ��!� '��*�� �!�É� �%�'�� !� �Æ

@ Ê0 1 2 2 3�45�6 3 7 8 2 9 5 7 : ; < = > ? ='@ . @ A : : B C D D E E E F G 5 F H 1 2 2 3 5 1 F G I D J G 7 5 G @ . @

Inspection Versus Testing (1)

KÄËV��Ì}�ÍW�T R�Y�Y�] c�] X�Y�] `�Y�U�X�WZ'] NV`\R�Y[RSc�NVO�QÎN�czZ�X�Y�Z'] `�qK®�'`\Ïz�'Ð�ÏÈÑ�Ò�Ñ�yPd&Xeg�Y�X\Z'j�X\Z XVO'QÎn'Z�X�Y�Z'] `�qVn�Z NQSX�RV`Sf"^w`�R�Q\] W[Z�X�Y�Z'] `�qzsPXb{wX�W�g�Z'] `�qeYN�c Z�d&R�O�X\Z Nc�] `�f\c RVgVT Z Y

K®] `�YU�X�W�Z�] NP`SfVN�X�Y�`�N�Z-O XVU�T R�WX\fw^"`�RVQS] W�Z X�YZ�] `�qKÈYN�c Z�d&R�O�XeU�O�N�WX�Y�Y[Y�j�NVg�T fi] `�W�T g�fVX\|�N�Z'j] `�YU�X�W�Z�] NP`SRV`�feZ�X�YZ'] `�q

6

@ �0 1 2 2 3�45�6 3 7 8 2 9 5 7 : ; < = > ? ='@ . @ A : : B C D D E E E F G 5 F H 1 2 2 3 5 1 F G I D J G 7 5 G @ . @

Inspection Versus Testing (2)

KÈfV] c�c�] W�gVT ZzZ�Ne] `�Y�U�X�WZhc NVOhxVg�R�T ] Z'] X�Y&Y�g�W�j\R�YU�XVO�c NVO'Q�RV`�WX�yzZ'] QS] `�q�yhT N�R�f

K®] `�YU�X�W�Z�] NP`SWRV`e|�X\R�UVU�T ] X�f\X�R�O'T ] X�OhZ'j�R�`\Z�X�YZ'] `�qK®] `�YU�X�W�Z�] NP`SWRV`e|�X\R�UVU�T ] X�f\Z�N\RV`b^_Y�NVc Z�d&R�O�XU�O�N�fPg�W�Z yh`�N�Z���g�YZhWN�fVX

@ .0 1 2 2 3�45�6 3 7 8 2 9 5 7 : ; < = > ? ='@ . @ A : : B C D D E E E F G 5 F H 1 2 2 3 5 1 F G I D J G 7 5 G @ . @

Defects vs. Faults

K®�'`�Y�U�X�WZ'] NV`Sc�] `�fVY&fVX�c�X�WZ�Y�sPUVO NV|VT XVQ�Y�] `YN�c Z�d&R�O�X

K���X�YZ'] `�qec�] `�f�Y[c R�gVT Z�Y�sP] `�WNVO'O X�WZ-|�XVj�Rbr"] NVOK��Íj�XV`_^bNVg\c�] `�f\R\c R�gVT Z-|b^_Z�X�YZ'] `�qhst_��,��"*� ��,%�� ��� � ��$ É� + É� ��,� �V� �&��*� �� ����� ��� +� �$�*�

K���c Z�X�`eQ�NPO X\WN�YZ'p X�c c X�WZ'] rbX\Z�N\c�] `�f\fVX�c RVgVT Z Y�r"] R�'`�Y�U�X�WZ'] NV`

@ @0 1 2 2 3�45�6 3 7 8 2 9 5 7 : ; < = > ? ='@ . @ A : : B C D D E E E F G 5 F H 1 2 2 3 5 1 F G I D J G 7 5 G @ . @

Analysis Tools

KÈYZ R�Z'] W[RV`�RVT ^bY�] Y[Z�N�NVT Y[WR�`\c�] `�f\YNVQSXSZ ^"U�X�Y&N�cf�X�c X�WZ�Yt��$���&�� � �� �� � �*[,��* ��� ��� *�u!��� � ���� '��� (�!� �!©� � � ��� t��!� + ����� �!� � �h������ !$� �� ���� -�-�! É��+ ����� ���'�

� º$±$· ¸'°'À�'°�$² ¸PÀ�¿'½$¸� º$±$º'´ ¸'½���°$· µ °�$² ¸'´� »P¸'»P¿�· ³�² ¸$°� ´��� º$±'´ °�� ¸ � Á$· ¿$¾�· °'»P»zµ ±'¾hÁ$· °'À ¼ µ À ¸$´� »zµ ´ ´�Á'¸$² ² ¸'½��w¿�· ½$´ �´ ¿'»P¸P¾�· °$»P»P°�¼ µ À�°$²'¸$· · ¿�· ´

KÈY�j�NPg�T fi] `�Y�U�X�WZhc NVOhZ'j�] `�qVY&Z�N�NVT Y[WRV`�� Zhc�] `�f@ �0 1 2 2 3�45�6 3 7 8 2 9 5 7 : ; < = > ? ='@ . @ A : : B C D D E E E F G 5 F H 1 2 2 3 5 1 F G I D J G 7 5 G @ . @

Inspection Metrics

¬ � �[�� &��� �'�� � � *&����� �$� ��� � ����� ���� ���� � �$-��,���� &�$ ��!�¬ � �$��� *V�¯�½$¸�� ¸'À ¼ ´�� ¿�º$±'½hµ ±zÁ$· ¿$½�º'À ¼wº$±'½'¸�·�µ ±'´'Á�¸$À ¼ µ ¿$±¯����'¸$· ¸P½$¸�� ¸'À ¼�� ¿�º$±'½hµ ±zÁ$· ¿$½�º'À ¼¯�¼ µ »P¸�¼ °� �¸$±�¼ ¿hÁ'¸$· � ¿�· »\µ ±'´�Á'¸'À ¼ µ ¿�±¯�´�µ � ¸P¿��bÁ$· ¿'½�º'À ¼bµ ±'´�Á'¸'À ¼ ¸'½

¬ �-�! ���� $�[� ��$��� *¯�À�°�¼ ¸$¾'¿�· ³}¿��(½$¸�� ¸'À ¼! ¸$ ¾$ � »z° " ¿$· ¶ »zµ ±'¿�· #¯����'°�¼bÁ$· ¿$»zÁ�¼ ¸'½z½$¸�¼ ¸'À ¼ µ ±'¾�¼ �'¸P½$¸�� ¸'À ¼¯�´�º'¾$¾$¸'´ ¼ ¸'½zµ »zÁ$· ¿���¸'»P¸$±�¼ ´¯�� °$µ ² º$· ¸PÀ�¿$º$±�¼ ´�À ¿�² ² ¸'À ¼ ¸'½z½�º$· µ ±'¾�¼ ¸'´ ¼ µ ±'¾z°$±'½hµ ±�¼ �'¸�� µ ¸$² ½

@ $0 1 2 2 3�45�6 3 7 8 2 9 5 7 : ; < = > ? ='@ . @ A : : B C D D E E E F G 5 F H 1 2 2 3 5 1 F G I D J G 7 5 G @ . @

Use of Metrics

¬&% �!� �&�$��� � ��� *&�$���� �� �� !��,��¯�¼ ¿�¼ °$²�½$¸�� ¸'À ¼ ´VÁ'¸$·�² µ ±'¸P¿��(À�¿'½$¸P¿�·�Á'¸$·!¼ µ »P¸zº$±$µ ¼¯_Á'¸$· À�¸$±�¼ °$¾'¸P¿��(½$¸�� ¸'À ¼ ´�� ¿�º$±'½z°�¼(½�µ � � ¸$· ¸$±�¼b´ ¼ °$¾'¸$´

� ¸$ ¾�Â�'�()È¿��(½$¸�� ¸'À ¼ ´�� ¿$º$±'½��³�* ±'´�Á'¸'À ¼ µ ¿$±�,+�(�)��³P¼ ¸'´ ¼ µ ±'¾¯_Á'¸$· À�¸$±�¼ °$¾'¸P¿��¼ µ »P¸P´'Á�¸�±�¼(¿�±V½�µ � � ¸$· ¸�±�¼(°'À ¼ µ ��µ ¼ µ ¸'´-

� ½$¸'´�µ ¾�±��À�¿'½�µ ±'¾���½$¿$À�º'»P¸�±�¼ °�¼ µ ¿$±��µ ±'´'Á�¸$À ¼ µ ¿$±�!¼ ¸'´ ¼ µ ±'¾���¸�¼ À�¬&% �!� �&�$��[�� [,�$ *�� ���¯." º'´ ¼ µ � ³V¼ µ »P¸P´�Á'¸�± ¼wµ ±'´�Á'¸'À ¼ µ ±'¾0/ɼ ¸'´ ¼ µ ±'¾¯�´�º'¾$¾$¸'´ ¼bµ »zÁ$· ¿���¸'»P¸$±�¼ ´Vµ ±P½$¸���¸$² ¿$Á'»P¸$±�¼wÁ$· ¿'À�¸'´ ´¯�¸���°$² º'°�¼ ¸PÀ�'°$±'¾$¸'´Vµ ±zÁ$· ¿$À ¸'´�´

@ /0 1 2 2 3�45�6 3 7 8 2 9 5 7 : ; < = > ? ='@ . @ A : : B C D D E E E F G 5 F H 1 2 2 3 5 1 F G I D J G 7 5 G @ . @

Inspection Process

from Software Inspection, Tom Gilb & Dorothy Graham

7

� �� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

People Involved in Inspection

�! �"$#&%&'$(*) + ,-".+ #0/1) '$/-23%-4 ,$(5'$#5#$67+ 8-'$/$9 9 :<;&= >.%$'$,-%-9 '�! �"$#&%&'$(*) + ,-".?5'$/&8-'-4�6@BA&C D5E5F5G H I�JLKNMOE5F�E�D5I�JLP F�J�Q�I�R S G A5FTQ5C A5R I5J J@BMOA5U5I5C EVS I�JLMOI�IVS G F�D5J@BJ�W�A&X5Y UTW�EVZ*IOJ�Q�I�R�G E5YVS C E5G F5G F�DT[ MTX5Y S G \ U5EV]^R�A5X5C J I5_&R�I5C S G ` G R�EVS G A&F5a

�!(&b$'$(&c5'-4 #ed�+ "$#5%$'$(*) ,-4 #Vf@BJ�Q�I5F�U^S G MOITC I5E�U&G F�D*g E5F�E5Y ]*H�G F�D^S W�ITQ�C A�U&X�R S@BMOEV]hG F�R�Y X�U5IOE5XVS W�A&C [ J�a _$Y I�E�U5I5C@BJ�W�A&C S$S C E5G F5G F�D&i-j�\ U5EV]kR�A&X5C J IOA&C$l A5FkS W�Inm A&o�l@pS I5R�W5F5G R�E5Y5q�F�A*rnY I�U5D5ITC I&Y E*S G F�DkS ATQ5C A5U&X�R S

� s� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Entry

�!'-"t) 4 :1(&4 + ) '-4 + /u#�'t)^v$%xw ,-4O%$4 ,-8-v$(*) #h) ,.y&'.+ "&#&%$'$(V) '&8�!/u9 ,z)n,twn(5,7"t) 4 ,z{t'-4 #V:x/$y$,-vt)}|~b$'-"1) ,.+ "$#5%$'$(*)n(5,$8-'@�o�IV` A&C IOA&C$EV` S I5CtS I�J S G F�D@�o�IV` A&C IOA&C$EV` S I5C$R�A5MTQ5G Y I

�3+ wn'-"t) 4 :x(&4 + ) '-4 + /."$,t)k2N'�) �L%-4 ,$87v&(*)^"$,t)k+ "$#&%&'$(*) '$8@BI5� D&� _�S A5AOMOE5FV]OS ]�Q5G F�DTI5C C A5C J@BI5� D&� _&J�A5X5C R�IOR�A�U5IOU5A5I�J}F�A*SzR�A�MTQ5G Y IOR�Y I�E&F5Y ]

�3+ "$#5%$'$(*) + ,-"$#0/-4 'u't�z%&'-"$#5+ {t'@BU5A5F�� S$rnE�J S ITG F�J�Q�I�R S A5C J�S G MOI

�!/-vt) b$,-4L,tw w '-4 #ev-%u%-4 ,$87v&(*)}w ,-4}+ "$#5%$'$(*) + ,-"�39 '$/$8$'-4 #08-'&(&+ 8-'$#e+ wk+ ) � #e4 '$/$8t:x= =}�7v-+ (&c0't�t/-2N+ "$/t) + ,-"

� �� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Kickoff

�3+ "-+ ) + /$9-2e'$'t) + "$�xw ,74L/-9 9$%$/-4 ) + (&+ %$/-"t) #�!,-4 �-/-"-+ �5'$8.y�:<9 '$/$8$'-4��w /$2u+ 9 + /-4 + ��'u't{t'-4 :t,7"$'u+ "t{t,-9 {t'$8x|~+ ) bx) /$#5ce/�)^b$/-"&8�!8-'tw + "$'N't{t'-4 :t,-"$'$� #e4 ,-9 '$#�3b$/-"&8.,-vt)k2e/t) '-4 + /-9 #e"$'&'$8-'$8�!8-'$/$9t|~+ ) bN�-'-"$'-4 /-9$�-v$'$#V)V+ ,7"$#�!#5'�)k�-,$/-9 #�!87+ #�(&v$#�#0,z{t'-4 /-9 9-%$9 /-"$��) + 2N'�) /$y-9 '�39 ,-"$�u8-,$(&v-2e'-"t) #087+ {�+ 8-'$8.+ "t) ,.� (&b$v-"-c5#&�56-#�'-%$/-4 /�) '+ "$#5%$'$(*) + ,-"N��9 ,$�-�7+ "$�xw ,-4}'&/$(&bN(&b-v-"-c

� �� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Individual Checking (1)

�!'$/$(&bN(&b$'$(&c5'-4�|h,74 c&#T/-9 ,7"&'.v$#5+ "$�u8$,-(&v-2e'-"t) #eb&/-"$8-'$8,-vt)^+ "uc&+ (&c5= ,tw wk2e'$'t) + "$�

�!/-+ 2e#h) ,xw + "$8.2N/��z+ 2uv$2�"-v-2Ny$'$4},twkv-"-+ �-v$'u2N/*� ,-4%$,t) '-"t) + /-9&8-'�w '$(*) #

�32e/-+ "-9 :xyt:x9 ,-,-c&+ "$�xw ,-4L87+ #�(&4 '-%$/$"$(&+ '$#ey$'�) |~'$'-"N#�,7v-4 (5'8-,$(&v-2e'-"t) #0/-"&8p%$4 ,$87v$(*) #ey&'-+ "$�.+ "$#5%$'$(*) '$8$�}+ � '7� 6@�C I��&X5G C I�MOI5FVS J�S ATU5I�J�G D&F@BU5I�J�G D&FkS ATR A5U5I@�C I��&X5G C I�MOI5FVS J�S A^S I5J S�Q5Y E5F

� �� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Individual Checking (2)

�3v$#5v$/-9 9 :xv$#5'$#T/u(&b$'&(&c&9 + #*)�3c&+ (&c5,tw wk2e'$'t) + "$�u#5v$�-�$'$#*) #0/-2e,-v-"t)n,zwL) + 2e'1) ,u#&%&'-"$8}6@pS ]�Q5G R E&Y�C EVS ITG JOj}W�A&X5C-Q�I5C$U5A�R�X�MOI5FVS�Q�E5D�I

�!(&b$'$(&c5'-4}4 '$(5,-4 8$#0/$(*) v$/-9�) + 2e'x) /-c5'-"�3c5'$'-%&#e"$,z) '&#0,zwk+ #�#&v$'&#hw ,-v-"$8@BU5I�J R�C G QVS G A&F�_-Y A�R�EVS G A&F�_-Q�A5J J�G o5Y ]^G MTQ�E�R S

�3��+ #5#5v$'-�T��2e/t) ) '-4}4 '$�-v-+ 4 + "$�u/t) ) '-"�) + ,7"@�Q�A�J�J�G o�Y IOU5IV` I5R S@Bl �&X�I�J S G A5FOA*`�G FVS I5FVS l@BJ�X�D5D5I�J S G A&F

� �� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Logging Meeting (1)

�3���}�L���7�} &¡L L¢£ 9 ,$�.+ #5#5v$'$#e+ 8$'-"t) + w + '&8py�:x'$/&(&bu(&b&'$(&c5'-4£ |h,74 c0/$#0�74 ,7v-%1) ,1w + "$8.2e,74 '.+ #�#&v&'$#£ #&v&�-�-'&#*) + ,-"$#hw ,-4}%-4 ,$(5'$#�#e+ 2u%$4 ,t{t'-2N'-"�)^d + "$#&%&'$(*) + ,-"%-4 ,-(5'$#�#0/-"$8u,t{t'-4 /-9 9&#5,tw ) |h/-4 'u%-4 ,$(5'$#�#*f

�!¤$�}¥L¦�� �O§ § ¡7¨ª©�«­¬p�L¨}¡L��®L¦��}�0¯5�L $�L®L§ § «�¦�°L¡�§ ¡L®7¨}¡L��±£ 2Nv$#*)ky$'1{t'-4 :1#&c&+ 9 9 '$8.+ "ub$/$"$879 + "$�.%&'$,-%-9 'N/-"$8.+ #5#5v$'$#£ 2e/-+ "t) /-+ "1) + 2e'u8-+ #5(&+ %-9 + "$'N/-"$8.+ #�#&v$'N87+ #5(&+ %$9 + "$'

�3¥L��¡�²�®L§ �L®L¦�³ �O¥´�Lµe³  & -�L¡7 £ � v$#*)k9 ,-�.+ #�#&v&'$#5�L9 + c5'uy-4 /-+ "$#V) ,-4 2u+ "&�

8

� �� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Logging Meeting (2)

�32Nv$#*)k"$,t)^9 /$#V)k2N,-4 '1) b$/-"u;ub$,-v-4 #�3"$,t)}w ,74L't�z%$9 /-+ "-+ "&�-�L8$'tw '-"&87+ "$�$�L#&v&�-�-'$#V) + "$�xw + �t'$#5�7,74) 4 /-+ "$+ "$�

�3+ 8-'$"t) + w :x+ #5#5v$'$#���) b$'-"u9 ,$�x) b$'-2�3+ #�#&v$'$#0(5/$".y&'u�-v$'$#V) + ,7"$#^) ,u%-4 ,$87v$(*)n/-vt) b$,-4L/-"$8#&v&�-�-'&#*) + ,-"$#hw ,-4}+ 2N%-4 ,t{t'-2N'$"t) #@�F�A*SzU&G J R�X�J�J I�U0G FOMOI�I*S G F�D

������� /-"u/�) ) /&(&ce,-4}'�{t/-9 v$/t) + ,-"N,zwk%$4 ,-8-v$(*)k/$vt) b$,-4�32e/-"$/$�$'-2N'-"�)^%&'-4 #5,-"-"$'-9&#5b$,7v$9 8������By&'.+ "N/t) ) '-"$8$/-"$(5'

� �� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Edit

�3§ �����Lµ0³  $ $�L¡L �O³ ²�¡}¥�¦ ��®}�L¦�°L�}�0¦�����¡7 $�}§ ²�¡�!®}�7¦�°L�}�T¤-®L¥£ (&9 /$#�#&+ w :x,-4}4 '$(&9 /$#�#&+ w :<+ #�#&v$'&#ed |1b$+ (&bN/-4 'u4 '$/-9 9 :8-'tw '$(*) #*f

£ {t,-9 v-"t) /-4 + 9 :x+ 2N%-4 ,t{t'u%-4 ,$87v$(*)n/$#e%$'-4}+ #�#&v$'&#e4 /-+ #�'$8£ 4 '$�-v$'$#*)k4 v-9 '&#0,74L(&b$'$(&c&9 + #V)^y&'N(&b$/-"$�-'&8

� � � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Follow-up

�3³ ¥L $�L¡7¤-¦�³ �O¥�§ ¡L®7¨}¡L�e¬´®��-¡7 . -�L��¡� &®L¦�³  &µ ®L¤$¦��}� «¤-§ �L -�}� ¡�°L®7 .¦�®��-¡L¥��L§ ®L¤$¡��}¥´®}§ §L³  $ $�L¡L £ /$(*) + ,-"$#h) ,u(5,-4 4 '$(*)n/-9 9&8-'tw '$(*) #ed (&b$/$"$�-'N,-4}(&b$/$"$�-'4 '$�-v$'$#*) f

£ #&v&�-�-'&#*) + ,-"$#hw ,-4}%-4 ,$(5'$#�#0(&b$/-"$�$'$#e4 '-%$,-4 ) '$8�3³ µ0¬´® � �}�0¤-°L®L¥��L¡L ��T�}���L¨}�L¤$¦e¬p®�«­¥7¡L¡7¨�¦���©7¡³ ¥L $�L¡7¤-¦ ¡L¨�®��L®}³ ¥

� �� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Exit

�3¥L¡7¡L¨�¡���³ ¦0¤-��³ ¦�¡L��³ ®�3¥L¡7¡L¨�¤-§ �} $�}��¡´�}¥�®L§ §L³  & -�L¡7 p³ ¥��p��³ ¦�³ ¥���3��¡7¤$�O� ¨ª¬p¡L¦���³ ¤- uµ �O�0³ ¥L -�7¡L¤$¦�³ �}¥��}���L¤$¡L & p¯�µ �}��L���L¤-¡7 $ p³ ¬´�}� ��²�¡}¬p¡}¥7¦�±

�3�L���L¨O�7¤-¦0¥L��� ¤-�}¥7 -³ ¨}¡L��¡7¨��t $®7µ ¡��e¦����7®L $ u�O¥´¦��¥L¡���¦0�}°L®7 $¡�³ ¥� $�Lµ ¦��u®L��¡�¨L¡�²�¡}§ �}�L¬´¡}¥7¦

� �� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

The V-model

Requ irem ents

Cost of running inspections is abou t 10 -15% of cost of deve lopm en t budget.

Inspec tion

Arch itec tu re

Inspec tion

Design

Inspec tion

Code

Inspec tion

Un it Test

In tegrat ion Test

Sys tem Test

� s� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Costs of Inspection

����¥L -�7¡L¤$¦�³ �}¥´¦�®��$¡L .¦�³ ¬´¡���T«��}³ ¤$®L§ § «�� ��!"�$#�% �LµT¨}¡�²�¡L§ �}�}¬p¡}¥L¦0©}�L¨��L¡L¦�'&h§  $�� $¦ ®}��¦�!��}�´¤$�} &¦� L¢£ '$#V) /-y-9 + #5b-+ "$�.%-4 ,-(5'$8-v-4 '$#£ ) 4 /-+ "$+ "$�.9 '$/$8-'$4 #5�L+ "$#&%&'$(*) ,-4 #

���� p³ ¦(�u�}��¦�°�³ ¦*)

9

� �� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Benefits of Inspection (1)

���T¡7µ�¡7¤$¦� .µ �}�}¥7¨�¡7®}��§ «B $®�²�¡�¦�³ ¬´¡�®L¥L¨�¬´�}¥7¡�«�3¬´®L¥�«B¨}¡7µ ¡L¤$¦� .µ �}�}¥7¨ª©7¡Lµ �}��¡´¦�¡L &¦�³ ¥��£ ) '$#V) + "$�.+ #e2Nv$(&bN�7v-+ (&c5'-4

�!¦��L¦�®L§7¨}¡�²�¡L§ �O�L¬´¡L¥L¦0¦�³ ¬´¡�³  p��¡7¨O�L¤$¡7¨£ 't{t'-"1|1b&'-"N(5,7v-"�) + "$�x) + 2e'xw ,74}+ "$#5%$'$(*) + ,-"

�3³ ¥L $�L¡7¤-¦�³ �O¥7 p³ ¥L¤-� ¡L®7 $¡��L���L¨O�7¤$¦�³ ²n³ ¦ «

�� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Benefits of Inspection (2)

���T¡7µ�¡7¤$¦� .µ �}�}¥7¨�¡7®}��§ «���¡L $�}§ ¦e³ ¥�©L¡7¦�¦�¡L�e�}� �}¨}�L¤$¦�3³ ¥L $�L¡7¤-¦�³ �O¥���¡7 -�}§ ¦� .³ ¥£ (&9 '$/-"&'-4}8$'$#&+ �-"£ y$'t) ) '$4}8$,-(&v-2e'-"t) /�) + ,7"£ y$'t) ) '$4}(5,$8-'£ w '�|~'-4L8-'tw '$(*) #£ 8-'tw '$(*) #h) b$/t)k4 '-2e/-+ "1|1+ 9 9-y&'u'$/&#&+ '-4�) ,xw + �N|~b$'-"w ,-v-"$8

�� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Benefits of Inspection (3)

�!µ ¡L¡7¨O©7®L¤ �pµ �}�e¬p®}¥$�}¡L¬´¡L¥L¦0®L©L�}�L¦T $�Lµ ¦��u®}��¡�L���L¤-¡7 $ L¢£ + "$#5%$'$(*) ,-4 � #0(5,72N2e'-"t) #e%-9 v$#e2N'�) 4 + (5#

�!¨L¡Lµ ¡L¤$¦� uµ��}�L¥L¨�¡L®}��§ ³ ¡}�e¬p¡L®L¥L uµ�¡$�u¡}�0¨L¡L®7¨O§ ³ ¥7¡ -�L���}��³  $¡L 

�3³ ¥L $�L¡7¤-¦�³ �O¥´¦���®L³ ¥L p³ ¥7 -�7¡L¤$¦��}�� L¢£ 9 '$/-4 "xw 4 ,-23�-,$,-8u(5,$8-'N/-"$8u8$,-(&v$2N'-"�) /t) + ,7"N,tw,t) b$'-4 #

£ 9 '$/-4 "xw 4 ,-2�2N+ #*) /-c5'$#0,twn,t) b$'-4 # �� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Success Stories (1)

���������$¡L¨}¡L��®L§��«� &¦�¡}¬p �0³ ²�³  -³ �}¥£ c5'-%t)k2e't) 4 + (5#hw ,-4L#&+ 2N+ 9 /-4}%$4 ,�� '$(*) #ey$'tw ,-4 'u/$"$8u/tw ) '-4+ "t) 4 ,$87v&(&+ "$�u �"&#&%&'$(*) + ,7"u+ "t) ,N8-'t{t'-9 ,-%-2e'-"t)k%-4 ,$(5'$#�#

£ 8-'-9 + {t'-4 '$8.9 + "$'$#0,twn(5,$8-'u%$'-4�|h,74 c5=�2e,-"t) bL6� j � �TrkG S W�A&X S�P F�J�Q�I�R S G A&F����� � rkG S WOP F�J�Q�I�R S G A&F

�� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Success Stories (2)

�������p¯�³ ¥���� ��� ±-¢£���� � ��� ,twn8-'�w '$(*) #hw ,7v-"&8.yt:x �"$#5%$'$(*) + ,-"£ (5,$#*)n,zwLw + "$87+ "&�u8-'tw '&(*)^yt:1 �"$#&%&'$(*) + ,-"L6�-� �� |~,-4 cb$,-v-4 #

£ (5,$#*)n,zwLw + "$87+ "&�x|1+ ) b$,-vt)n �"&#&%$'&(*) + ,7"L6 � ! � |h,-4 cb$,-v-4 #

£ ,-"-9 :x> � ,twn8-'t{t'-9 ,-%-2e'-"t)L) + 2e'u8$'t{t,z) '$8x) , �"$#&%&'$(*) + ,-"

�� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Success Stories (3)

���&®}���L¡ ����� �L����� ¡L¤$¦&¢£���"#" � "$"#" 9 + "$'$#0,twn(5,-8$'.d "$'t) |h,74 c5'$8u,-%$'$4 /t) + "$�#*:t#V) '-2~f

£ y$/$#�'$8u,-".%&/$#*)n't�z%$'$4 + '-"$(5'1|1+ )Vb&,7v�)^+ "$#5%$'$(*) + ,-"$�'t�z%&'$(*) '$8x) ,xw + "&8u/-y$,-vt) $"#" y$v$�-#08-v-4 + "$�x) '$#V) #0/t)) 4 + /-9&#&+ ) '

£ v$#�'$8.+ "$#&%&'$(*) + ,-"u/�)%�$�e#*) /$�$'$#0,zwn8$'t{t,-%-2e'-"t)£ w ,-v-"$8 y$v$�-#0/�)}) 4 + /-9&#5+ ) '�&

10

� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Software InspectionResearch (1)

���}¡7 $¡L®L��¤-°�³ ¥7¦���³ ¥L -�7¡L¤$¦�³ �}¥£ + "$#5%$'$(*) + ,-"u%-4 ,$(5'$#�#£ ) '$(&b-"-+ �7v$'$#hw ,74}+ "$8-+ {z+ 87v$/-9$+ "$#5%$'$(*) ,-4 #

�� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Software InspectionResearch (2)

�3��¡7 $¡L®L��¤-°�®7¦ �$�L¤$¡}¥7¦��h¡7¤-°}¥L�}§ ���O³ ¡7 p¯ �0¥}³ ²�¡L�� -³ ¦ «�Lµ��N®}� «�§ ®}¥L¨L±£ 't�z%&'-4 + 2e'-"t)}|~b$'-4 'x) b$'t:e{t/-4 + '$8

� F5X�MTo�I5C$A*`�G F�J�Q�I5R S A5C J� F5X�MTo�I5C$A*`$S I�E�MOJ}G F�J�Q�I�R S G F�D^S W�ITJ E�MOIOR�A�U5I� S I5E�MOJ�rnA5C q�G F�DTG FTQ�E5C E5Y Y I5Y�E5F�U^S I�E5MOJ�r�A&C q�G F�DTG FkS E&F�U�I5M[ rnW�I5C ITo�X�D5J�rnI5C Ik` G �*I�UTo�IV` A&C I��&F�U0G F�J�Q�I5R S G A5FkS A�A&qQ5Y E�R I&a

£ ,-"$'N,zwL) b$'N(5,-"$(&9 v$#5+ ,7"&#� MOA5J SzJ�G D&F5G ` G R E5FVS�G MTQ�C AVZ*I�MOI5FVS J}G FOG F�J�Q�I�R S G A&FOR A5MOI�J�` C A5MG MTQ5C AVZ�G F�D^S W�IkrnEV]}S W�ITG F�J�Q�I�R S A&C JLU5AkS W�I5G C-G F�U&G Z�G U&X�E5YVrnA5C q

�� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Software InspectionResearch (3)

�3¥L¡$� ¦�¡L¤-°L¥}³ �O�7¡L u¦���°L¡}§ ���}�}³ ¨}¡�³ ¥L -�7¡L¤$¦��}�  p³ ¥¦�°7¡}³ �(�u�}�*�£ #5(�'-"$/-4 + ,$=�y$/$#�'$8.4 '$/$8-+ "$�

� I�D&�&Q5XVS-]VA&X5C J I5Y `�G FkS W�ITC A&Y IOAV`zEkS I�J S I5C� W�EVZ*IOEOJ I5C G I�JLA*`z�&X�I�J S G A&F�JLE5F�UTJ R�I5F�E5C G A5J�S A^r�A&C qnrnG S WOE5J]*A5XTG F�J�Q�I�R S

s� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Checklists

�!¤$�}¬�¬p�O¥��O�L³ ¨}®L¥L¤$¡��7 $¡L¨�µ �}�e³ ¥L $�L¡L¤$¦�³ �O¥7 � �L�}�L¨�¤-°L¡L¤ �-§ ³  $¦� .®L��¡�°L®}� ¨�¦���¬p®��$¡��}�£ 4 '-9 :1,-".%&/$#*)n't�z%$'-4 + '-"$(5'£ (5/-"N�-'t)L) ,$,.9 ,-"$�u/-"$8.v-"t|~+ '-9 8z:£ "$'$'$8x) ,uy$'uv-%$8-/�) '$8u/$#e"$'t|�#5+ ) v$/t) + ,-"$#0/-4 + #�'£ + "$#5%$'$(*) ,-4 #eb$/t{t'N/1) '-"$8-'-"&(*:N) ,xw ,79 9 ,z|ª) b&'u(&b$'&(&c&9 + #*)/-"$8u8$,."$,.2e,-4 '

£ (5/-"uy$'u2N+ #&+ "�) '$4 %-4 't) '$8£ 2e/t:<"&,z)n(5,z{t'-4L't{t'-4 :$) b$+ "$�."$'$(5'$#�#5/-4 :N) ,x) b$'u4 + �-bt)9 't{t'-9&,twn8-'t) /-+ 9

�� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Approach for Checklists

�3d �$'-"$'-4 /-9&/-%$%-4 ,$/$(&b1w ,-4}+ "$#&%&'$(*) + ,7"&#0/$#h|~'$9 9 f�!8-'t) '$4 2u+ "$'x|~b$/t)n�7v$/-9 + ) + '$#0/-4 'u+ 2N%$,-4 ) /-"t)Lw ,-4n) b&'#5,tw ) |~/-4 'N#V:z#V) '-2

�!8-'t) '$4 2u+ "$'x|~b$/t)n#5,tw ) |h/-4 'N8-'$#5+ �7"�� (5,$8-'N(&b$/-4 /$(*) '-4 + #*) + (5#(5,-"t) 4 + y-v�) 'x) ,x) b&,-#�'u�-v$/-9 + ) + '$#

�!8-'t) '$4 2u+ "$'x|~b$/t)L:t,7v1|h/-"t)L)Vb&'.+ "&#&%$'&(*) ,74 #h) ,u9 ,-,-chw ,-4@BE5Y J ATU5IVS I5C MTG F�I5J}Q�C E5R S G R I�J�]*A&Xkr�E5FVS-S W�IOJ A*` S r�E5C IOU�I*ZVI5Y A&Q�I5C JS A^` A&Y Y A*r

�!(&b$'$(&c&9 + #V)^v&#5'$8xw ,74��#5#5+ �7"$2N'-"�) !.+ #ey&/$#5'$8u,-"�T( �L/$9 9 � #� v$/-9 + ) :�0,$8-'-9

McCall's Quality Model

11

� �� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Testing

���T��� �u¡�¬´��²�¡´¦���¦�°L¡´ -�}© � ¡7¤-¦T�}µT¦ ¡L $¦�³ ¥$����}¡7¤-®L§ §7¦�°L®7¦0 $�Lµ ¦��u®L��¡��L���L¤$¡L & . -°7�O�L§ ¨ª³ ¥7¤7§ �7¨}¡����� ��� ����� ������ ��� � ���� ����� ���

��� ����� ������ � ���������� !������#"�������$� %���& �� ����� � �&� ����' � �(� �% )*�&+���% ���� �*% ��&+����,��� ������%�� ���.-��� � ���*���� ������ ���

�0/ $�� �1��%2� � % ��&� !��' ����,��� ����$� %���& ������� ������ ����� ��� � ��3��+�,�546��� (.-7����2&�� ���%��$545� �����($������*8���� ��9 ' :

; <= > ? ? @�AB�C @ D E ? F B D G H I J K L J�M < M N G G O P Q Q R R R S T B S U > ? ? @ B > S T V Q W T D B T M < M

Testing is Hard!

� 3�� � �($�� ������+���������3� ����' �' � !� ���� !�6:7� � ��' � ��3� �54�:.���$�� ����� ���X.Y2Z\[^]\_\]�`*a `,b,c d�e�]#f�g h�e d,bjilk g ]�m noe�]\_\]�c h f�Y2]�`\i

� $������#��' � ���3�&���� ��3� ����� ������ !�&��X.d�p�]�g�]\q\]�b,d\i ]�p2d�`ri ]�pji ]�e#bsh�e�]Xth�g e�]�g�a `vuvw�a b,w#poi Z\i ]�Y2]�`\i p+Z�g ]x]\q\],b,d\i ]�e*a `xZ�bji d�Z�cd�p�]#e�a y y ]�g5y g h�Yzi w�Z\i{a `vi ]�pji a `�|

X.d�p�]�g�Z�f�f�c a ]�p+bsh Yx}�a `�Z\i a h�`#h\y{d�`\i ]�poi ]�e*a `�f�d\i�_\Z�c d,]�pX.d�p�]�g ~ p+h f,]�g Z\i a `�|#]�`\_�a g h `�Yx]�`rila p2`�]r_�]�g�i ]�poi ]�e

; M= > ? ? @�AB�C @ D E ? F B D G H I J K L J�M < M N G G O P Q Q R R R S T B S U > ? ? @ B > S T V Q W T D B T M < M

Skills of a Tester (1)

��� h\i{Z�c cri ]�poi ]�g p+Z�g ]xe�]\_\]�c h�f�]�g p�t�s� �,�j� �s� � �s� ���o���,�,� �s�o�{�����s� �1�s���j� �s�,� �s�s���s� ��� �,�,� �s�s��� �o�� �s� � � ���,��t�s� �,�j� �s� � � ���+�s�����,� �����o�5��� ��� ��� �j� �

� i ]�poi ]�g p�uvw,h#Z�g ]xe�]\_\]�c h�f�]�g p2Yxd�pji{w�Z\_\]�t�s�s� � � � ��� �����s� ��� �6�s���s�l� ��� �6� �s� ����t�s�s� � � � ��� �{�{� � ��� � �s���l� �������s� �6� �o�o�,� ���s�����,� � �����s���1� ��� �,�s� � ��s� ��� ���s� ����t�s�s� � � � ��� ���,� �s�s�s�   ���s���1�s���s� �j  �1� �s� �s�{�j�s� ���������j���s�o� ��t�s�s� � � � ��� �����s� �6�s�o�6� �s�1�s� �o¡��j�s� ��� �,�����,�o� � �,�s� ����������.�s� ���5� �����s�s� � � � � �����j�����s�o�o�s� �,���s�

; ¢= > ? ? @�AB�C @ D E ? F B D G H I J K L J�M < M N G G O P Q Q R R R S T B S U > ? ? @ B > S T V Q W T D B T M < M

Skills of a Tester (2)

��£ ��&���9 � ' ' �*� ��' �5:5�& �(' ����9(% ��&,¤Xtpsh\y i u¥Z�g ]x]�`�|�a `�]�]�g a `�|#p,¦,a c c p§ �s���s�s� � � �s���,� ���{� ���1� �s� �����j�\���o� � �5�,� ���s���,� �����s� � ���§ �����1�s�o� �s���s� ���,� �s���1� ���§ �,���,� �o� � ���1� �j� � �s�!� �o�j�s�s¨����j�{� ���s���

Xtbsh�Y#Yxd�`�a bsZ\i a h `xps¦,a c c pXth�g |�Z�`�a ©sZ\i a h�`�Z�c,ps¦�a c c pX.w�Z�`,e�psm h�`x]\q�f�]�g a ]�`�bs]

; ª= > ? ? @�AB�C @ D E ? F B D G H I J K L J�M < M N G G O P Q Q R R R S T B S U > ? ? @ B > S T V Q W T D B T M < M

Attitude For Testers

� e�]�poi g d�bji a _\]xb,g ]�Z\i a _�a i [� e�]\i ],bji a _\]#ps¦,a c c p� d�`�e�]�g poi Z�`�e a `�|^i w�]#f�g h�e�d�bji{Z,p�i w�]#psd�Y�h\y{a i p2f,Z�g i p� Z�f�f�g ]�b,a Z\i a `,|^iow,]#b,d,pji h�Yx]�g ~ p2f,]�g p,f,]�bji a _\]� g ]�«�d�a g ]�Y2]�`\i p+b,w�Z�`�|�]� p,¦s]�f\i a bsZ�c�}�d\i{`�h\ilw�h�poioa c ]#Z\i i a i d,e�]� Z�}�a c a i [xi h*},]^i w,]*},]�Z�g ]�g�h\y{}�Z�e*`�]\u�p+Z�`�e*g ]�Y2Z�a `xh�}j¬ ]�bji a _\]� Z�`x]�Z�|�]�g `�]�p�p�i h#]�Yx}�g Z�bs]#`�]\u�i ],b,w�`�h�c h�|�a ]�p

; ;= > ? ? @�AB�C @ D E ? F B D G H I J K L J�M < M N G G O P Q Q R R R S T B S U > ? ? @ B > S T V Q W T D B T M < M

Definitions of Testing (1)

��£ :5�&���­�®x' �� % ��& �7¯�° ­{±�3� / &��+��%+²���% ��)#��& ±� ����� � ��­{³z� ' 5:6­2´�µ�¶ µX*·�¸�w�]#¹�g h�bs],psp+h\y�]\q\]�b,d\i a `�|#Z#f�g h�|�g Z�Yzu¥a i wviow,]a `\i ]�`ri{h\y�y a `�e�a `�|#]�g g h�g psº

��» ��¼��' ­2½�� ' ' ­ /0¾ �� !��' ��®2��� ������²���% ��)#��&�±� ����� � ��­�¿*À�Á � ��% ��&� (����� ���²���� �� �� � � ��� ° ­+´�µ�Â�ÂX.à ¸5]�poi a `�|*a p+Z�`r[^Z�bji a _�a i [vZ�a Y2]�e#Z\i{]\_\Z�c d�Z\i a `�|#Z�`Z\i i g a }�d\i ]#h�g�bsZ�f�Z�}�a c a i [vh�y�Z#f�g h�| g Z�Y�h�g�po[\pji ]�YÄZ�`�ee�]\i ]�g Y#a `�a `�|^i w�Z\i{a ilY2]�]\i p2a i p2g ]�« d�a g ],e*g ]�p,d�c i p�Å Ã

12

; �= > ? ? @�AB�C @ D E ? F B D G H I J K L J�M < M N G G O P Q Q R R R S T B S U > ? ? @ B > S T V Q W T D B T M < M

Definitions of Testing (2)

��� À�À�À² ����� ����&����1´���° ´����s´�µ�µ��X*·�¸�w�]#f�g h�bs],psp+h\y�h f,]�g Z\i a `�|#Zxpo[�poi ]�Y�h�g�bsh Yxf�h�`�]�`rid�`�e�]�g�p,f�],b,a y a ]�e#bsh�`�e a ioa h `�p�h�}�p�]�g _�a `�|#h�g�g ]�bsh�g e a `�|i w�]#g ]�psd�c i p� Z�`�e*Y2Z�¦,a `�|#Z�`x]\_\Z�c d�Z\i a h `xh\y�psh�Yx]Z�psf�]�bji�h�y�i w�]xpo[\pji ]�Y�h�g�bsh Yxf,h `�]�`\i º

��� À�À�À² ����� ����&��Â�� µ �s´�µ� �X*·�¸�w�]#f�g h�bs],psp+h\y�Z�`�Z�c [\©sa `�|#Zxpsh\y i u�Z�g ]#a i ]�Yzi he�]\i ],bji�i w�]xe a y y ]�g ]�`�bs]�p2}�]ri u�]�]�`x]\q�a poi a `�|#Z�`�eg ]�«�d�a g ]�e#bsh�`�e a i a h�`�p2k i w�Z\i{a p��}�d�|�pon�Z�`�e^i h#]\_\Z�c d�Z\i ]i w�]vy ]�Zriod�g ]�p+h\y�i w�]xpsh\y i u�Z�g ]#a i ]�Yxpsº

; �= > ? ? @�AB�C @ D E ? F B D G H I J K L J�M < M N G G O P Q Q R R R S T B S U > ? ? @ B > S T V Q W T D B T M < M

Purposes of Testing

� ¸5hvy a `�e*}�d�|�p+m�a `�b,c d�e�a `�|*}�d�|�p2a `vi w�]vi ],pji p��� ¸5hx]�pji a Y2Z\i ]#g ]�c a Z�}�a c a i [ a `*d�p�]#}\[2iog Z�b,¦,a `�|^i w�]]\q\]�b,drioa h `vi a Y2]*a `\i ]�g _\Z�c�}�]\i u�]�]�`vy Z�a c d�g ]�p

� ¸5hx]�pji a Y2Z\i ]xe�]\y ]�bji p2g ]�Y2Z�a `�a `,|(}r[xi g Z,b,¦�a `�|^i w�]xe�]\y ],bji py h�d�`�e*f,]�g�f�]�g p�h `,m�w�h d�g�h\y�i ]�poi a `�|#Z�`�e#e�]�}�d�|�|�a `�|^i a Y2]

� ¸5hxe�]�b,a e�]#h�`vuvw�]�`^i h#g ]�c ]�Z�p�]���] Å |�Å }r[^e�]�b,a e a `,| i w,Z\ii w�]#g ]�Y2Z�a `�a `,|(¦,`,h�u¥`xe�]\y ],bji p+Z�g ]xZ�bsbs]�f\i Z�}�c ]*a `^i w�]i Z�g |�]\ilY2Z�g ¦s]\i

� ¸5h#c ]�Z�g `vuvw,]�g ]#f�g h�bs]�psp+f�g h�}�c ]�Y2p+Z�g ]#}\[vb,c Z�p�p,a y [6a `�|Z�`�e#bsh�d�`\i a `,|*e�]\y ]�bji ply h�d�`�e

; �= > ? ? @�AB�C @ D E ? F B D G H I J K L J�M < M N G G O P Q Q R R R S T B S U > ? ? @ B > S T V Q W T D B T M < M

What Testing Can't Do

� ±� ����� � ������� � �+��� ��&������� ������� �*����&�&� ������ ���������� �+��& :.645�& :7� ������� $�' ���� $�� ��� ��� �����%� ���������,­1645�& :.��54�� & ���� !������� � ����&������*�� ����� � ��� � � & �� ����#����� %�� ���������3 �������% ��)#��&��&������#����&�&������' :6­1��&+��3 ���+% ) $������&�� !��� �

��� ��&1���� !!��&�� ��� ����' �,��% � )*��&� ­1% ��&� !��' !� ��3 � !� ��� ����'� (���3������*���� �������s��&��545������&�&� ������ ��� - $�� �+��3 ���� �*��������3��&+������� �*%���&����3��&+������&��,��

� �= > ? ? @�AB�C @ D E ? F B D G H I J K L J�M < M N G G O P Q Q R R R S T B S U > ? ? @ B > S T V Q W T D B T M < M

Stages of Testing (1)

��� 8���� & � (�� ���*��� �ÄÁ1 ��� ����� ����� � �X(u¥w�]�` g ]�« d�a g ]�Yx]�`\i p Z�`�e e�]�psa | ` Z�g ] uvg a i i ]�` a `p,f,]�b,a Z�c!c Z�`�|�d�Z�|�],p uvw�a b,w f,]�g Yxa i à ]\q\]�b,dri a h `�Ãzi hp,a Y#d�c Z\i ]#Z�bji d,Z�c�po[\pji ]�Y

��� ���& � �����&�% ����!����,��� ���X! {y i ]�`xe�h�`�]xZ\ilf�g h\i h�i [�f�a `�|#pji Z�|�]

��� ��� � " £ ������' ±� ����� � ��ľ �� � ��� �� � "r����$ �\:5��� � ±� ����� ���

� #= > ? ? @�AB�C @ D E ? F B D G H I J K L J�M < M N G G O P Q Q R R R S T B S U > ? ? @ B > S T V Q W T D B T M < M

Stages of Testing (2)

��� ���� ��& ����� ��� ±���,��� ���X!$�`�b,g ]�Y2]�`\i Z�c ¸6]�pji a `,| m i w�] d�psd�Z�c _\]�g psa h ` h\ya `\i ]�|�g Z\i a h�`^i ],pji a `�| Å

� Á1��� ' :7$���� ' ���#������²������ � :t����,��� ���� ²5:6����� ±l������ ���X.¹�]�g y h�g Y2Z�`�bs]xZ�`�e&%sh�Z,e('*)\i g ]�psp�¸6]�pji a `�|X,+�p�Z�}�a c a i [�¸6]�poioa `�|�*}�dri*iow�a p�a pZ�c Z\i ]Äpoi Z�|�]0i h�}�]e�h�a `�|*a i*�

� <= > ? ? @�AB�C @ D E ? F B D G H I J K L J�M < M N G G O P Q Q R R R S T B S U > ? ? @ B > S T V Q W T D B T M < M

Stages of Testing (3)

�0/ ' ��3 �������½��� �t±� ����� � �XtZ�c f�w�Z.-ti ]�poi a `�|^y d�c c,po[\pji ]�Y�a `,m�w�h d,ps]X.}�]\i Z&-!h dri p,a e�]#d�p�]�g p

�0/ ������ ����� �� ±� ����� � ���� ����� ��' ' � ��� ���/" ¾ �� !��� ��� $�� ' � � :*±� ����� � ���0 ' ����% ��&� 1" ¾ ����%�� ����&�� ��� ���/" 0 ��&��1����,��� ���

13

� M= > ? ? @�AB�C @ D E ? F B D G H I J K L J�M < M N G G O P Q Q R R R S T B S U > ? ? @ B > S T V Q W T D B T M < M

Stages of Testing (4)

��� ���� ��&�� � :.����� � �' ����!�� ����� ���§ �s���������s�o� �o� � �,��� �,����� � � �s�o���{� � �1�s� �s�s��� �§ �����,� �1���j�6� �o� ��� � ���l�{� � �{�j� � ��� �s�§ � �o� �s���s���l�j�s� ��� �,�1� �5�{���o�5� ���s� � ���s� � ��� �s� ����������� � � �

��� �' � ��$�� ' � � :�" ¾ �&���� %�� ��� ��� ���t±� ����� � �§ ��� � � ���o� �s����������� �����s�{� � ���{� �{� �,� � �s� �s���{� � �1� �o� �s� �,�����{� ��,���,� �o� � �,���s�s�s� �o� � � ���§ � �s���o� � ���s�5� �s�����s� � � � � ���o� � �,���j�\���,�o� �s� ���s��� �{� ���1� � �s���s�s� ����s� �,���\�\�+� �\���,� ��� ��*��� �o� �����,� � ��� �6���s� � ���

� ²� ����&�� � :�" � ����' �l±���' �&���� ��/" � ����545�& :.� ������ ������ ��&� ����� ��� ±� ����� ���

� ¢= > ? ? @�AB�C @ D E ? F B D G H I J K L J�M < M N G G O P Q Q R R R S T B S U > ? ? @ B > S T V Q W T D B T M < M

Black Box Testing

� ��� � 9*����,�+������ �($ ���,�����&��8���� & � (���� �*����' :� ������� �+����9 ����)*' ������%+� ��' � (�� ������� ���� 4�� ) ������� �*�$�' � � 9($����{¤1� � ��� �� �(� ���l4�� ��� $�' � �����$����� ��� �+���6:.��� ����1¤X.d�`�a i p,d�}�pj[\poi ]�Y �po[�poi ]�Yzi ]�poi a `�|

� ª= > ? ? @�AB�C @ D E ? F B D G H I J K L J�M < M N G G O P Q Q R R R S T B S U > ? ? @ B > S T V Q W T D B T M < M

Black-Box Testing Strategies

� ' ����9(� �+��� ���� %�� ��� ��� �����#%���&+� ����� ���� �� ���2� ��&� !��'������¤XtpsZ�Y#f�c a `�|#h\y{Ã�`�h g YxZ�c Ã�a `�f�d\i p2k�g Z�`,e�h�Yz_\Z�c d�]�pon

� �� ���+��$�� ��&� !��'������¤Xte a y y ]�g ]�`\il¦,a `,e�p+h\y�]�g g h�`�]�h�d�p 'oa c c ]�|�Z�c�a `�f�d\iXtbsh�Y#}�a `�Z\i a h�`�p+h\y�]�g g h�g p

� �� ���2$ ����������& :.��������� ��� ��� ��¤X(_\Z�c d�]�p1b,c h�p�]^i h#}�h�d�`�e�Z�g [ },]\i u¥]�]�`#`�h�g Y2Z�c,Z�`�eZ�}�`,h g Y2Z�c

� ;= > ? ? @�AB�C @ D E ? F B D G H I J K L J�M < M N G G O P Q Q R R R S T B S U > ? ? @ B > S T V Q W T D B T M < M

Example

/** * Raises a number to an integral power. * * @param base the number to be raised to a power * @param pow the power to which base is to be raised. * Must not be negative. * @return base raised to the pow-th power */static double power(double base, int pow) {

• error inputs: negative values for pow• boundary cases: pow = 0, pow = 1, pow = -1• normal cases:

– pow >= 2, range of values– base: negative, 0, positive– combinations of these

� �� � � � ������ � � � � � � � � � � ! " $# % # & � � ' ( ) ) * * * + , � + - � � � � � � + , . ) / , � � , # % #

Possibilities For Automation

021�3547658 9;: <5<58=:�<2>54@?@45A 6@:�42B�4@:C<@DC:�47B�:CE�6@B�47BF65?@34�G�H74@E�:�473IA�47BKJ58 : BCD�A�<5LMB�H@47E7N D�N E�67:$N <5?@B

0PO547658 N : QR9=?74@4735BTSU45A QVH5A 4@EKN B�47WXLY6@:$Z745L[67:$N E�658BKH74@EKN D�N E�6@:$N <5?7B�WXJ7BKJ@6@8 8 QV?@<@:X6US�6@N 8 65\@8 4

02]@<^J7BKJ@6@8 8 Q_>54@?@4@A�6@: 4M:�4@B�:`E�6@B�47Bbac4�G�H74@E�:�4@3A�47BKJ58 : BY\�QdZ@6@?@3

0fegJ@: <hLY6@: 4@3F4UGU4@EKJ@:$N <5?iN BCB�:$N 8 8@H7<@B�BKN \@8 4

� j� � � � ������ � � � � � � � � � � ! " $# % # & � � ' ( ) ) * * * + , � + - � � � � � � + , . ) / , � � , # % #

Test Harness

0lkg6@mK47BCB�47:X<@D=:�4@B�:nN ?5H@J@:�BoaP4�G�H@47E�:�4@3FA�47BKJ58 : B0POhJ@?@BYH@A�<@>hA 65Lp<h?[4@67E7Z[:�47B�:nN ?5H@J@:�WhE�<hL[H@6@A�47BA�47BKJ58 : BCqCN :$Zi4UGrH74@E�:�473

0PO54@H@<5A�:�Bo65?UQd35N B�EKA�45H765?7EKN 47B0`sh<5LiH@8 N EK67:�473F:�<iqCA$N : 4iD <5AXt;uX1�B�Wh45L[\@47353@4@3BvQUB�:�4@L[B�W=\5J7:X<@D :�45?iH@<@B�BKN \@8 4

0lkg6@mK47BY8 <@:�BC<@D=35A$J@3@>54@A Qd<5J7:X<@DX: 4@B�:�N ?@>0Pw;65m�4@BC: 4@B�: 45A�BoqCN 8 8 N ?@>F: <IA�J5?i6@?@3FA�4@x$A$J5?i8 65A >54:�47B�:XBKJ@N :�47B

14

� �� � � � ������ � � � � � � � � � � ! " $# % # & � � ' ( ) ) * * * + , � + - � � � � � � + , . ) / , � � , # % #

White Box Testing

0��7N E7mC:�47B�:XE�6@B�4@BY\76@B�4@3i<h?[:$Z@4[6@E�:$J76587B�<5D :�qo6@A�40`658 B�<iEK6@8 8 4@3��$E78 4765AX\@<�G��;<5A���B�:$A$J7EK:�J5A�6@8 �n:�4@B�:$N ?@>02mK4UQdqo<5A�3FN B����� ������� 59������� ���� �����! �"����$#&%('*)+("�, ,��.-(� ��$ ������/

0`35N D�D 4@A�45?7:nL[476@B�J5A�47BC<@D=E�<rSU45A 6@>@4

j 0� � � � ������ � � � � � � � � � � ! " $# % # & � � ' ( ) ) * * * + , � + - � � � � � � + , . ) / , � � , # % #

Statement Coverage

0�1USU45A Q B�:�67:�45LY45?7:nN ?i:$Z74iB�<5D :�qo6@A�4iLiJ@B�:n\@44�GU4@EKJ7:�4@3i6@:X8 4@6@B�:X<5?@E�4F\UQd:�Z@4i: 4@B�:=EK67B�47B

032oJ7<5: 4iD�A�<5LM: 4�GU:54�woJ@A$A�6UQ�6�9�87 9���:� ; <=>, ��&�?� �"�<�� ��; �?- �A@B<�DCE�&�D- � CF"@ �>; �G < ���<�& �; ��<"�H�, �$"�<�I���� G , �>H�$ �@ ; J$; <"�, ; K&��A7

0�L eg]UefB�:�<5A Q

j M� � � � ������ � � � � � � � � � � ! " $# % # & � � ' ( ) ) * * * + , � + - � � � � � � + , . ) / , � � , # % #

Branch Coverage

0�1USU45A Qd\5A 65?@EKZ[658 :�4@A$?@67:$N S�4iLiJ7B�:n\74iE�<�S�4@A�4@3F\�Q6@:X8 4@67B�:X<5?@4[:�4@B�:XE�6@B�4

0Pw;<5A�4i3@45LY65?73hN ?7>F:$Z765?iB�:�6@: 45LY45?@:=EK<�SU45A�67>54h9if (x > 3)

y = 14;

// continue -- no else part0ENf4i?@474@3i6@:n8 476@B�:=<h?74i: 4@B�:XE�67B�4[qYZ745A 4dGPO�QiN B65?73F67:n8 4@67B�:X<5?74iqCZ@4@A�4 GEORQFN BoD 658 B�4BS

j %� � � � ������ � � � � � � � � � � ! " $# % # & � � ' ( ) ) * * * + , � + - � � � � � � + , . ) / , � � , # % #

Path Coverage

• Every possible path through the program must becovered by at least one test case void tst(int x) { if (x>0)

pos = pos+1; if (x%2==0)

even = even+1; return; }

• Needs 4 test cases:– all combinations alternatives √√

TVU WX�Y&Y

√√TVU WZ:[�Z�\

TV]A^I_T?`5_

a bc d e e f*gh*i f j k e l h j m n o p q r p&b s b t m m u v w w x x x y z h y { d e e f h d y z | w } z j h z b s b

Example

void tst(int x) { if (x>0)

pos = pos+1; if (x%2==0)

even = even+1; }

~R�(� �(�*�(���(�(���������(�*�(�(���B�*���&���A�~��B� �B�(�����������B�*�A�B����� ��&�&������� � ��&�&�A�~����(�&�����!���B�*�A�B���B�*��&�&�&�A��� �*��&�&������� �*��*������� �*��&�&�A�

a �c d e e f*gh*i f j k e l h j m n o p q r p&b s b t m m u v w w x x x y z h y { d e e f h d y z | w } z j h z b s b

What About Loops?

~��$���8�*�(�B�B� � ���*�A�����A��(�I� �(� �������(¡����(�A����¢ �(�B£��¤��(���A�*��¥��&� � �(���5� �&� ���A��� �B���8�&� � �(�

• for (int i = 0; i < n; i++) {...}¦>§ �A�����A��(�I���(�B�(¢ ¨©� �(��¢ �A¨B���ª�«>¬�­�®>¯ «°�± ² ³5´µ�¶�· °�¸�«¹�± º�´>» °°�¼D½ª�«>­©¾$¯ °A«�´�± ² ³5´$¶�· °�¸�«¹�± º´I» °°A¼¿½ª�«>À©¾$¯ µ�´DÁD´�· ¶�»D± ² ³5´µ�¶�· °A¸«¹�± º´>» °�°�¼D½

15

a �c d e e f*gh*i f j k e l h j m n o p q r p&b s b t m m u v w w x x x y z h y { d e e f h d y z | w } z j h z b s b

More About Loops

~R�*�A�B¢>�&� � � ���� �*�I�(�*� �(�B�(�(�*�(¢ ¢ � �&�B�A� � �(��� ¨(� �(�� ���*� �(� �*��¢ �(�B£� «´´¹�± °���¶�· ´�� ¸�» » ��¹�´�� ² «´�º¶D±��D°A¸I³5´¶�«�� � ¼¶D± º$°A·» °°A¼���°DÁD´�· ¶��´

a �c d e e f*gh*i f j k e l h j m n o p q r p&b s b t m m u v w w x x x y z h y { d e e f h d y z | w } z j h z b s b

Path Coverage: ImpossibleCombinations

~����(���(¢ ¢A��B���(� �(�(�*� ���A�>�(�*��£A�(���� �(¢ ���if (x > 2) ...else ...if (x > 4) ...else ...

~R� ��£A�(���� �(¢ ��� �©�A�������*� �*���¢ �(��£�� �B¢ ��A�����(��B�(¨�&�&�A� ¦ �A��� �(������A����*�B���&�(�A��������B� �A�(�&� �B�

a �c d e e f*gh*i f j k e l h j m n o p q r p&b s b t m m u v w w x x x y z h y { d e e f h d y z | w } z j h z b s b

Path Coverage:Combinatorial Explosion

~����B�*�(��� �(�&�A�(¨��>� �&�����(�����(�*�(�(���(�A�>�B�A¨¢ �(�B£(�(�� ³5¶�«����°A³���² «�¶D± ² °A«�µ��(» °.± µ�°��(± ´µ�±���¶µ&´µ� ¹A² � � ² ��¸» ±B± °>³5¶�«¶���´� � ¶��!��¶¿± ��º$µ&´�¼���² ¶�»² «�¼¸D± µ?± º¶D±(± · ² �"�´�·B¶«I´· · °A·

~�#��B¢ ¢(£(�A�&���������B�*�A�B���B�B¢ � £(�*�A���*� ���(¢$� �B�5�B�(� ��*�A��&� �A�

a ac d e e f*gh*i f j k e l h j m n o p q r p&b s b t m m u v w w x x x y z h y { d e e f h d y z | w } z j h z b s b

Example

static double power(double base, int pow) { double answer = 1; while (pow > 0) { if (pow % 2 == 0) { // pow is even pow = pow / 2; base = base * base; } else { // pow is odd pow = pow - 1; answer = answer * base; } // end if } // end while return answer;} // end power

White box checklist:pow = 0, 1, 2, bigger (so while loop executed 0, 1, many times)even and odd powers to exercise both parts of if statement

a %c d e e f*gh*i f j k e l h j m n o p q r p&b s b t m m u v w w x x x y z h y { d e e f h d y z | w } z j h z b s b

Data Flow Testing

~'&?�(�(�&�A�B�5¡�� �(¨������>�(� �*�(�A��¤8� �(��&� �A�~3��¤��B� ��� �� ¯ ² «$°A· ¹´�·(°)��?´¶"*�´µ:±B± °Iµ:± · °�«���´µ:±B± ´µ:± ² «��.½� ¶�» »² «�¼¸D± ¶�«�¹>°�¸D± ¼¸D±BÁD¶�· ² ¶"��» ´µ� �°D± º�± · ¸D± º�ÁD¶�» ¸´µ�°��!¶�» »¼�· ´¹�² ��¶D± ´µ� ¶�» »�¹�´�� ² «�² ± ² °A«�µI°���ÁD¶�· ² ¶"��» ´µ>¯ ´���ÁD¶�· ² ¶"��» ´µ$°�«�+�,.-�°��¶µ&µ�² ��«�³$´«D± µ�½� ¶�» »¸µ&´µ�°)�(ÁD¶�· ² ¶"��» ´µ?± º�¶D± ¶�· ´I¹´�� ² «´�¹� ¶�» »» °°A¼�µ

% /c d e e f*gh*i f j k e l h j m n o p q r p&b s b t m m u v w w x x x y z h y { d e e f h d y z | w } z j h z b s b

Possibilities For Automation

ª10 ¹�´¶�» 2F± °°A»V± °1��´�«´· ¶D± ´3µ&´D± °��I± ´µ�±3��¶�µ�´µ�µ�¶¿±:² µ4� �.² «����°DÁD´�· ¶���´I· ´�5�¸�² · ´�³5´�«D± µ6 [�Z�7 8 Y�U 9 9 U :<;�= >

ª1?A¶�«"@ ±A�´�«´�· ¶D± ´$´�B.¼�´���± ´¹I°A¸¿± ¼�¸D±�� · °�³C��°¹�´$Dª1-�°�³5´>º´» ¼�2.± °°A» µ?± °Iº´�» ¼�ÁD´�· ² � �!��°DÁD´�· ¶���´$2EGFIH�J K�H�L<M N�M O�PIO�Q�M LRFSO�T O�O�U�O�K�VWM O�X�YWZ�M H�J LIM O�L MIKWN�L<O�[.\"TM H�J LSL<O�M�\�]"M O�L<M�K<N�L<O�L<^EGFIH�J K�HRY�T N�Q�K�HIN�_ M O�T Q�NWM J `�O�L.FaO�T OROWU�O�K�V�M O�X�^EGFIH�J K�HRb�N�M H�LW^EGM O�L M�H�N�T Q�O�LWL�L<M J _ _SV�LWOW] V�_ [I\�TRN�Y�\�`�O�K<N�Q�Y�O(J Q�M O�c�T NWM O�XJ Q�M \�H�N�T Q�O�LWL

16

� �� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

White Box Alone

"!$#&% '�(*),+.-0/&1 +32,(*% 452&+&'6/87&+&+&9*:;/=<0'�+7&(>2&(&?�/,'�(8'�(,4@'6A@/,4@(&4CBD0EGFIHKJ LMF@NPO QPR Q@SMT@U6QCV;J L@UWUGX EZY@QC[ O FCV\O]Y@F@[ O UD0X VIO [ X VMUMX SWFCJ J HKJ L@F@N@U^O Q5X V@SWQCEZYCJ LIO L_O L@U`O X VMaD0X RbSWQ@NCLC[>QIcILC[ J Q@Q,dWL@NeY@Q@U�UMX f@X J X O X L@UWg.O L@U`ObSWF@UWLMUih_X J JCV@QIONCLIO LMS`O>O j@LCE

� �� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Black Box Alone

lk>1 /,ACmn),+.-o/>1 +>2&(qpe/.<r2&+&'sA@+ut=(>?s'�#,(qA@+&9&(/&9&(&v>w&/,'�(>1 <DxUWQCEGLyUMY@LMSMX FCJzSWF@UWL@U{F@[ L|V@Q}OoQ,f\c}X Q,TMU~R [ QCEUMYML@SMX R X SWFIO X Q,VMUWg,NCLCY@L@V@N;Q,VZFCJ a@Q,[ X O�j@EZU

��&'�w&93% (,45(=-./&p8% 2,(&9�)&1 /&ACme)&+.-x'�(&4M'64Cw>% ' (&49&(.t.(&1 +>�&(&?�45A@+>2&4@% 9>(>? (&98(.-='�?�(&p�(&1 <0'�#,+3? +>w&73#DxQCVCJ HPL\�ILC[ SMX U�L@Ne�\� �PO Qe�\���ZQIRuSWQCN@L,�

� �� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Another Example: Background

��� LC[ QCVC� U^R Q,[ E;TCJ FPR Q,[&FC[ LMF;QIR&O [ X FCV@aCJ L&�D0J LIOuUZ�

DxFC[ L@F5�

��� �IFCEZYCJ L;YC[ QCaC[ FCE$O FCdWL@U^O j@[ L@LZUMX NCLMU6Q}R&O [ X F@V@a,J LZF@USWQCE;EGFCV@N@��J X V@LZFC[ a,T@EZL@VIO UG� U�O [ X V@aPR QC[ Ei�

� SMj@L@SMdWU^O Q;EZFCdWLZUMT@[ L;X O � U6FCVZL@�CTCX J FIO LC[ FCJ\O [ X FCVMa,J L�0� �=����� �@�W� � ��� �&�M� � �M�M ¡��� � ¢�£W��0� �@¤������M¥��� ¡�W¦�� ���&¢W��§6�W� � ��� �&¢W� ��¢

2cba ++

))()(( csbsass −−−

� ¨� � � � ����� � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Example Code with two Branches

public class Triangle { public static void main(String args []) { int sideA = Integer.parseInt(args[0]); int sideB = Integer.parseInt(args[1]); int sideC = Integer.parseInt(args[1]); if ((sideA == sideB) && (sideA == sideC)) { double s = 0.5 * (sideA + sideB + sideC); double area = Math.sqrt(s / (s - sideA) * (s - sideB) * (s - sideC)); System.out.println("area = " + area); } else System.out.println("not equilateral"); } // end main} // end class

© ª« ¬ ­ ­ ®�¯°�± ® ² ³ ­ ´ ° ² µ ¶ · ¸ ¹ º ¸�» ¼ » ½ µ µ ¾ ¿ À À Á Á Á  à ° Â Ä ¬ ­ ­ ® ° ¬  à ŠÀ Æ Ã ² ° à » ¼ »

Branch Coverage

ÇÉÈ>Ê&Ë8Ì Í6ÎMÏ�Ð&Ï Ë>ÑeË>Ê&Ï Ò¡Î@È8Ï�Ó;È8Ï�Ë,Î@Ï6Ô@Ð,Î@Ë&Î5Ê&Ë&Ë,Õ>Ë,ÕÇÉÍ Ð>Ö ÎMË8Ô@Ð&ÎMË¡×3Ø>Ì ÔCÙeÎ@Ì Õ>Ë,Î5Ï�Ú,Ð&Ï6Ð&Û�Ë>Ê&Ü Ï¡Ë&Ý>Þ&Ð>Öß0à áCâ Triangle 2 3 4ßxãCáIä åCáIä`æ not equilateral

ÇÉÏ�Û�Þ,Ë8Ô@Ð,Î@Ë¡×3Ø>Ì ÔCÙ5Ë&Ý>Þ&Ð>Ö,Î@Ì Õ>Ë,Îß0à áCâ Triangle 2 2 2ßxãCáIä åCáIä`æ area = 1.7320508075688772

ÇÉÈ>Þ&Ï�Ø&Þ&Ï6Ì Î5Ô@È3Û�Û�Ë&Ô@Ï�Ò¡Ö È&È3Ù@ÎeÖ Ì Ù@Ë8Ð>Ö Ö&Ì Î;Ó;Ë>Ö Ö

© ç« ¬ ­ ­ ®�¯°�± ® ² ³ ­ ´ ° ² µ ¶ · ¸ ¹ º ¸�» ¼ » ½ µ µ ¾ ¿ À À Á Á Á  à ° Â Ä ¬ ­ ­ ® ° ¬  à ŠÀ Æ Ã ² ° à » ¼ »

Two Errors not Caught byTest Cases

public class Triangle { public static void main(String args []) { int sideA = Integer.parseInt(args[0]); int sideB = Integer.parseInt(args[1]); int sideC = Integer.parseInt(args[1]); if ((sideA == sideB) && (sideA == sideC)) { double s = 0.5 * (sideA + sideB + sideC); double area = Math.sqrt(s / (s - sideA) * (s - sideB) * (s - sideC)); System.out.println("area = " + area); } else System.out.println("not equilateral"); } // end main} // end class

should be 2

should be *

17

© �« ¬ ­ ­ ®�¯°�± ® ² ³ ­ ´ ° ² µ ¶ · ¸ ¹ º ¸�» ¼ » ½ µ µ ¾ ¿ À À Á Á Á  à ° Â Ä ¬ ­ ­ ® ° ¬  à ŠÀ Æ Ã ² ° à » ¼ »

Combining the TwoApproaches

• pick a set of test cases from the specification(black box)

• then look at code (white box) and see if test casescover the code adequately

• it not, add more to complete coverage• power example:

– black box alone didn't tell us it was important to makesure we tested both odd and even powers

– suggests additional test cases: pow = 16, pow = 15

© �« ¬ ­ ­ ®�¯°�± ® ² ³ ­ ´ ° ² µ ¶ · ¸ ¹ º ¸�» ¼ » ½ µ µ ¾ ¿ À À Á Á Á  à ° Â Ä ¬ ­ ­ ® ° ¬  à ŠÀ Æ Ã ² ° à » ¼ »

Testing at Different Levels

Ç��6Ê>Ì Ï6Ï Ë&Î@Ï�Ì Ê��¡×ß��,á���� � ����Mã��� � � �Cà��@ã����CåCå@à ã����ß� ������Mã�������� � ��ä! Cà �CâCá� �Cà " ä #.æ%$&�CâIä&ä ã' ã@ã(�)�Iä��Wã�� �

Ç+*&,&È.-=Ë*Þ&Ê>Ì Ï6Ï�Ë,Î@Ï�Ì Ê(�nÖ Ë%-.Ë>Ö ×��>Û�Ð./�,&È.0ß���$&�Cà �Câ � �1�6ã����`ä à á �`ä á@à � 2��@áIä]âMã}ä��� ���Iä ��" �12

Ç�3./=Î@Ï�Ë&Ñ Ï�Ë,Î@Ï�Ì Ê(�6×3Ø>Û�Ì Ñ�Ð&Û�Ì Ö /4,&Ö Ð&ÔCÙ5,,È.0

© ©« ¬ ­ ­ ®�¯°�± ® ² ³ ­ ´ ° ² µ ¶ · ¸ ¹ º ¸�» ¼ » ½ µ µ ¾ ¿ À À Á Á Á  à ° Â Ä ¬ ­ ­ ® ° ¬  à ŠÀ Æ Ã ² ° à » ¼ »

Stages

Ç76>Ì �86&Ð>Ê(��9]Ë&ÎMÏ�Ì Ê��¡×:�&È*Û�Ì �3Ú,Ï6Ï�È;3./=Î@Ï�Ë&Ñ<9]Ë&Î@Ï�Ì Ê��ß� ��Câ�Cà �� #= � � ��ä!��� � � �`ä " ���ß>���Cà #��(" � � " �Má� ä&ä ã=� " â �'�Cá �ß����Iã�" �Pä ��" � ?

Ç76&Ë,Ï�Ï�Ë&Û6Ó;Ð./b×ßeä � ��ä!�� �Gã��Cá� � ��" â ��" ��" �,á � #A@ áCâ�" ä&ä � �`ä " â �Bß0åCá\ä>ä ã ��Iä � �Cà� ,à � �,á �� #=C0ä ��`ä! �Cà ��Cà>å�" � �D� �E)F G HJI K1LM NJI G OHJP QSRDT1Q UJQ I K1V�I K1Q I G H1LW

ß>� " â �� #Zä ��`ä�$��@ã� ���X#���ä ���

Y Z Z« ¬ ­ ­ ®�¯°�± ® ² ³ ­ ´ ° ² µ ¶ · ¸ ¹ º ¸�» ¼ » ½ µ µ ¾ ¿ À À Á Á Á  à ° Â Ä ¬ ­ ­ ® ° ¬  à ŠÀ Æ Ã ² ° à » ¼ »

Integration Testing

Ç[9^Ë,Î@Ï�ÎeÞ&Î@Ë,Î5,&Ë,Ï�Ó;Ë&Ë&Ê�ÑeÈ>Õ>Þ>Ö Ë,Î5\GÎ@È>Þ&Û�Ô@Ë*È&Í)]�^:_È&Í¡Ð>Ö Ö,Ë&Û�Û�È>Û�Î5Ì Ê8Ô@È&Õ>Ë�`

Ç�a�Ê&ÔCÛ�Ë&Ñ�Ë&Ê&Ï�Ð&Ö ×�9]È>Ø8b¡È&Ó5Ê�-=Î(`c6,È>Ï Ï�È>Ñd�6Øß��`ä �@à ä�$e" ä �_ä � �`ä � �'�Gã �,á� � ��" â���" ä ��Cà��D��D�ß0å� �@âCâ�" â ;ã��!" â �Mà �����CâIä �)��ä �Cà ä �)� �Cà #E)QSf1ORDg hcM KXiJOg iJK:NDM ODRDH1h)R1Q K1Q�fDG KDM NM jSfJU

ßeä ãCå��Cã�$_â;à � k,á " à � �)��ä á�� �ß��@ãIä ä ã��láCå;à � kCá�" à � �)�Cà " ���Cà �ß�l �D�Câ ��$�" �� lm���Cà " �CâIä �)����" �`ä

Y Z Y« ¬ ­ ­ ®�¯°�± ® ² ³ ­ ´ ° ² µ ¶ · ¸ ¹ º ¸�» ¼ » ½ µ µ ¾ ¿ À À Á Á Á  à ° Â Ä ¬ ­ ­ ® ° ¬  à ŠÀ Æ Ã ² ° à » ¼ »

System Testing

n�o áCâ�`ä " ã,â���p%� �`ä " â '@ �Cã � ��" ä�$iãCà �qJBn+r ��ã>æs't G VcG H1LDu vSODN1hDu w1KDM x OM V:NDH1jSK:NDH1hcyXI M KDQ Q t KDQ I G H1Ls�z QSNDTDG g G I U t K1Q I G H1Ls yDK1j1RDM G I U t K1Q I G H1Ls yXI OM N1LDK!I K1Q I G H1Ls wDM ODj K1hRDM K:NH1h:hDODjSR1V:KHJI I KDQ I G H1L{)|1} ~1}D�S� |1��(�1�1� �1� �

s�� K1j OXiXKDM U�I K1Q I G H1Ls�� NDM hX��NDM K:jSODHJx G LRDM NJI G ODH!I K1Q I G H1Lß��Iä � �

Y Z ¼« ¬ ­ ­ ®�¯°�± ® ² ³ ­ ´ ° ² µ ¶ · ¸ ¹ º ¸�» ¼ » ½ µ µ ¾ ¿ À À Á Á Á  à ° Â Ä ¬ ­ ­ ® ° ¬  à ŠÀ Æ Ã ² ° à » ¼ »

Regression Testing

ÇÉÐ&Í Ï Ë>Û6Îm/.Î@Ï�Ë&Ñ Ì Î5Ñ�È&Õ3Ì Í�Ì Ë,Õ6×ß��Cá A� " ��2��D� �Câ ��ZãCà��m�Mä �Câ �" ã,â

ÇÉÎCÚ,È3Þ&Ö Õ�Û�Þ>Ê8Ð&Ö Ö,Ï�Ë&ÎMÏ�Î5È.-=Ë>Û6Ð(�>Ð&Ì ÊÇ�,&Þ��*Í�Ì 00Ì Ê8È>Ê&Ë8Ñ�È&Õ>Þ>Ö Ë8Ô@Ð&Ê8ÎCÚ,È&ÓzÞ>Ø;,&Þ��&ÎeÌ ÊÐ>Ê,È&Ï�Ú&Ë&Û&� Ñ�È&Õ>Þ>Ö Ë*Ì Ê,Ï�Ë>Û Ð&Ô@Ï�Ì È>Ê&Î;ÔCÚ&Ð>Ê(�>Ë

ÇÉÐ>Þ,Ï�È>Ñ�Ð,Ï�Ì È>Ê*Ì Î5Ð5�3Û Ë&Ð,ÏGÚ&Ë&Ö Ø*Ú,Ë>Û�Ë

18

Y Z »« ¬ ­ ­ ®�¯°�± ® ² ³ ­ ´ ° ² µ ¶ · ¸ ¹ º ¸�» ¼ » ½ µ µ ¾ ¿ À À Á Á Á  à ° Â Ä ¬ ­ ­ ® ° ¬  à ŠÀ Æ Ã ² ° à » ¼ »

Regression Testing Issues (1)

n+r � ä �Cà��� �Câ �� �xä ã8�J#���ä ����2 ����#"â � ��"ä ãÉáCå���Iä � ä ��`äå� �@â 2.ä � ��ä!�D� �1� ��s ��� G Q I G H1L!I K1Q I%j N1QSK1Q�V:NJU&TSKcM KR1Q NDTDg K u M KXI K1Q I NDTDg K uOM OTSQSODg KJI Ks't f1KDM K G Q>N�I M N1hDK�� OXx x=T1KJI ��K1KDH��1ODQ QSG TDg K M K1hRDH1h1NHJI�I K1Q I G H1LjSO1Q I Q�NDH1hAI f1K j ODQ I Q�OXx hDK1jSG hG H1LA��fDG j1f=I K1Q I&M KDQSRDg I Q�jSNDH'T1KM KDR1Q KDh:NH1h!�!fDG jSf!I K1Q I�jSN1Q K1Q�jSNDHcT1KcM KDM RDH�

s yDODV:K!I K1Q I�jSN1Q K1Q�V:NJU&H1K1K1h I O)T1K:hM O��1K1hs H1KJ�'I K1Q I�jSN1Q K1Q�V:NJU&T1KcH1K1K1hDK1h

n� ä #}å � �6ã��bà � Cà � �1�" ãCâ_ä � �`ä " â s �DM ODLDM K1Q QSG iJK F Q��1K1j1G x G j NJI G ODHcf1N1Q�j1f1NDH1LDK1hWs jSODM M K1j I G iJK F Q��1K1j1G x G jSNJI G OHcG Q�RDH1jSf1NDH1LDK1hW �

Y Z « ¬ ­ ­ ®�¯°�± ® ² ³ ­ ´ ° ² µ ¶ · ¸ ¹ º ¸�» ¼ » ½ µ µ ¾ ¿ À À Á Á Á  à ° Â Ä ¬ ­ ­ ® ° ¬  à ŠÀ Æ Ã ² ° à » ¼ »

Regression Testing Issues (2)

n �WãCà à � �`ä " ��� �Zã �(" � " �D�Iä " ãCâ � ����# à � k,á�" à �qåCà ã� Cà � �D�D" ���à � Cà � �D�D" ãCâPä � ��ä " â '" �&ä � �;ãCà " (" â�� �Wå � �" � " �D�Iä " ãCâ �e$&�Cà � " â�Cà à ãCà

n�� �Cà �D" ã,â��WãCâIä à ã� " �)�'����� ã,à�" �1�Má �s H1K1K1hDK1h OH KJiXKDM U1I fDG H1L�� j ODhDK1u I K1Q I QSRDG I KDQ u hDNJI N1uhDO1j1R1V:KDHJI NJI G OH1u:g KXiJKDg�OXx!O��1KDM NJI G H1L Q UXQ I K1V:u�j ODV��DG g KDM u�g G H�SKDM u�1O1QSQSG T1g U&f1NDM hX�.NM KcG x�jSf1NDH1LDK1Q�NM KcT1KDG H1L:V:N1hDK1u�� � �

Y Z ª« ¬ ­ ­ ®�¯°�± ® ² ³ ­ ´ ° ² µ ¶ · ¸ ¹ º ¸�» ¼ » ½ µ µ ¾ ¿ À À Á Á Á  à ° Â Ä ¬ ­ ­ ® ° ¬  à ŠÀ Æ Ã ² ° à » ¼ »

Acceptance Testing

Ç[9^Ë,Î@Ï�Ì Ê(� Î@Ø&Ë,ÔCÌ Í�Ì Ë,Õ Ë&Ð>Û�Ö / Ð,Î ÔCÛ�Ì Ï Ë>Û�Ì Ð Í È>ÛÐ&Ô@Ô@Ë&Ø&Ï�Ì Ê(��Ø&Û�È&Õ3Þ,ÔCÏ

Ç��3Ð>Ê�,,Ë�Õ&Ð>Ê(�>Ë&Û�È>Þ&Î���a�Í;Ï�Ë,Î@Ï�Î8Ð>Û ËlØ&Û�Ë�\�ÎCØ,Ë&ÔCÌ Í�Ì Ë&Õ&ÒÎ@È&Í Ï�Ó;Ð&Û�Ë*ÑeÐ./0Ø&Ð,Î@Î5Ï�Ë,Î@Ï�Î',>Þ&ÏGÊ,È&Ï6Õ>È*Ñ8Þ,ÔCÚ8Ë>Ö ÎMË� *]Õ&Ð8Ô@È>Ñ�Ø>Ì Ö Ë>Û Î��

Ç��GÈ&È&ÕqÐ&Ô@Ô@Ë>Ø,Ï�Ð>Ê,Ô@ËqÏ�Ë,Î@Ï�Ì Ê(� Õ&È>Ë,Î Ê,È>Ï Ì Ê.-.È>Ö -=ËÕ&Ë&Ï�Ð&Ì Ö Ë&Õ Ø&Û�Ì È>Û*ÎCØ,Ë&ÔCÌ Í�Ì ÔCÐ,Ï�Ì È>ÊzÈ&Í*Ï�Ú,ËzÏ�Ë&ÎMÏ�Î@Ò;,>Þ,ÏÕ&Ë>Ø,Ë>Ê&Õ&Î È>ÊqØ>Û Ë&ÔCÌ Î@Ë,ÒlÔ@È>Ñ8Ø&Ö Ë&Ï�ËnÐ&Ê&ÕqÔ@È>Û�Û�Ë,Ô@ÏÎ�/=Î@Ï�Ë&Ñ ÎCØ,Ë&ÔCÌ Í�Ì Ô@Ð&Ï�Ì È3Ê,Î(`

Y Z ç« ¬ ­ ­ ®�¯°�± ® ² ³ ­ ´ ° ² µ ¶ · ¸ ¹ º ¸�» ¼ » ½ µ µ ¾ ¿ À À Á Á Á  à ° Â Ä ¬ ­ ­ ® ° ¬  à ŠÀ Æ Ã ² ° à » ¼ »

Resources That Limit Testing

Ç76>Þ,Õ��&Ë&ÏÇ�3&ÔCÚ,Ë&Õ>Þ>Ö ËÇ �¡Ð&Û�Õ&Ó5Ð&Û�ËÇ[9^Ë,Î@Ï�Ë&Û�ÎÇ7b¡Ë�,>Þ����&Ë>Û�ÎÇ��¡Î@Ë&Û�Î � Í È3Û6Þ&Î@Ð�,>Ì Ö Ì Ï /xÏ�Ë,Î@Ï�Ì Ê����

Y Z �« ¬ ­ ­ ®�¯°�± ® ² ³ ­ ´ ° ² µ ¶ · ¸ ¹ º ¸�» ¼ » ½ µ µ ¾ ¿ À À Á Á Á  à ° Â Ä ¬ ­ ­ ® ° ¬  à ŠÀ Æ Ã ² ° à » ¼ »

Object-Oriented Testing

n�! á ���$�" �1�Cã������Mã,áIä&ä � ��äJ" â � �D�Má��Zá� �Iä � �'���� ãCà �"�#�"�$�% &�' ( ) *+#-,/.0.213�4 #657( 89) :�;+) ;�8�) ( <�=+) &�8>@?A( , , ;�' ;�<-)�, #�'B#�C�D ;�E�) F #�' ( ;�<-) ;�?E#�?�;�G3 8#�$�' E;�8�HIKJ�L M NO P Q J�R S N�T�P N�U2V�N�W�P S T�X-Y�ZA[�P \0]T�UB^�N�]�_ S P [`@a�b�c�d�e f�g�h i�j�d�e kl�c m d�n f�o�p�q�p�r h i�d0s t�t�u

• http://www.rbsc.com/pages/myths.html

• lectures by v�w x�y6zw w {}|�~�z�����w �� a�b���p���o�h � h f p�e ����b� � d�q�d�b����p�i�p�j�p��� � d�n f e h n p���p�i jB��b������f d�e � i�q�h i�d�d�e h i�q � � �� � � � ������ � � � � � � � � � � � � � ���   � ¡ � � ¢ £ ¤ ¤ ¥ ¥ ¥ ¦ § � ¦ ¨ � � � � � � ¦ § © ¤ ª § � � § �   �

Myth #1

« ¬®­°¯�±0²³µ´0´7¶ ·�¸�¶ ¹ º�»�¹ ¸½¼�º�º�·�¾·�¸¸�¿�À ÁÃÂB´0´ Ä�À Å�ÆÇÅ-¶ ·�¸È¹ ¶ ·�À ¿-¶ ¹ ÅAº¿�º�É�À ·�¼�¸·�ÊǸ�ÅÌË9·ÎÍ�¿-Ï-·Ð¿ÎÆÇÅ�À ·Ð·-Ñ Ñ ·�¾�¶ ¹ Ï-·KËÒ¿-Á�¶ ÅÉ�·-Ï-·�Ó ÅAÄ®¶ À ¼�¸�¶ ËÒÅ�À ¶ Í-Á®¾�Ó ¿�¸�¸·�¸�Â

« ÔBÕAÖB× Ø ¯ ­}²³�ÙB¼�ÆÇ¿�º½·�À À ÅAÀB¹ ¸2¿�¸@Ó ¹ Ú·�Ó Á+¿�¸2·-Ï-·�À�Â6ÛÜ·½Í�¿-Ï-·®¶ Ž¾�Í�·�¾�Ú¾�Ó ¿�¸�¸9Ñ ¼�º�¾�¶ ¹ ÅAº�¿�Ó ¹ ¶ Á+¿�º�Éݹ º-¶ ·�À ¿�¾�¶ ¹ Å�º�¸@Þ�·ß¶ ËÒ·�·�º¾�Ó ¿�¸�¸·�¸

19

� � �� � � � ���� � � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Myth #2

« ¬®­°¯�±0²³Ý¶ ·�¸�¶ ¹ º�» ¹ ¸�¿ ¸�¶ À ¼�¾�¶ ¼�À ·�É ËÒ¿-¶ ·�À Ñ ¿�Ó Óȹ É�·�¿ ¿�º�É ¹ ¸º"! ¶¾Å�º�¸�¹ ¸�¶ ·�º-¶�Ë®¹ ¶ ͽ¹ º�¾�À ·�ÆÇ·�ºß¶ ¿�Ó�´0´ÐÉ�·-Ï-·�Ó Å�Ä�Æ@·�º-¶« ÔBÕAÖB× Ø ¯ ­}²³Ý¶ ·�¸�¶ ¸�¾¿�º Þ�· É�·�¸¹ »Aº�·�É ¿�º�É ·$#-·�À ¾�¹ ¸·�É ¿-¶ÌÆÇ¿�ºßÁÄ�Å�¹ º-¶ ¸@¹ º®¶ Í�·½Ä�À Å�¾·�¸�¸³�Ä�¿�À ¿�ÉA¹ »�Æ Å-Ñ&%�É�·�¸¹ »Aº½¿ÈÓ ¹ ¶ ¶ Ó ·�ÊB¾Å�É�·½¿ÈÓ ¹ ¶ ¶ Ó ·('�Þ�·�¾ÅAÆ@·�¸%�É�·�¸¹ »AºÇ¿½Ó ¹ ¶ ¶ Ó ·�ÊA¾Å�É�·½¿½Ó ¹ ¶ ¶ Ó ·�Êö ·�¸�¶/¿½Ó ¹ ¶ ¶ Ó ·('³*)$#�¶ À ·�Æ@·,+�À Å�»AÀ ¿�ÆÇÆǹ º�».- /0+$1ÒÄ�À ÅAÆ@Å-¶ ·�¸@·�¿�À Ó Á½¶ ·�¸�¶ ¹ º�»-�Æ@Å�À ·½Ó ¿-¶ ·�À 1

� � �� � � � ���� � � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Myth #3

« ¬®­°¯�±0²³Ý¶ ·�¸�¶ ¹ º�»È¹ ¸9¶ Å�ÅÇ·$#6Ä�·�º�¸�¹ Ï-·

« ÔBÕAÖB× Ø ¯ ­}²³�Ä�¿-Á+Æ@·Èº�Å6Ë�Å�ÀBÄ�¿-Á+ÆÇ·3254&6�Ù�Æ@Å�À ·ÈÓ ¿ß¶ ·�À³ÝÑ ¿�¹ Ó ¼�À ·�¸�¹ ºÐÅ�Ä�·�À ¿ß¶ ¹ ÅAº�¿�Ó�¸�Á-¸�¶ ·�Æ@¸ ¾¿�ºÐ¾¿�¼�¸�·Ð¸·-Ï-·�À ·¸·�¾ÅAº�É�¿�À Á+Ä�À Å�Þ�Ó ·�Æ@¸³�Ä�À ÅAÄ�·�À9¶ ·�¸�¶ ¹ º�»�¹ ¸+Ï-·�À Áµ¾�Í�·�¿�Ä ÞßÁµ¾Å�ÆÇÄ�¿�À ¹ ¸�Å�º�Ê�·-Ï-·�ºËÒÍ�·�ºÇÉ�Å�º�·½ÆÇ¿�º�¼�¿�Ó Ó Á³µ·-Ñ Ñ ¹ ¾�¹ ·�º-¶�¶ ·�¸�¶ ¹ º�»ÈÅ-Ñ}Ó ¿�À »�·½Å�ÀB¾Å�ÆÇÄ�Ó ·$#®¸�Á-¸�¶ ·�Æ@¸Çº�·�·�É�¸¸Å�Æ@·Ç¿�¼-¶ ÅAÆ@¿-¶ ·�ɽ¸¼�Ä�Ä�ÅAÀ ¶

� � �� � � � ���� � � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Myth #4

« ¬®­°¯�±0²³Ý¶ ·�¸�¶ ¹ º�»È¹ ¸9¶ Í�·Ç¸¿�Æ@·Ç¿�¸2¾Å�º-Ï-·�º-¶ ¹ Å�º�¿�Ó�¸Å-Ñ ¶ Ë9¿�À ·³µ¿�Ó ÓßÁ-ÅA¼½º�·�·�Éȹ ¸@Þ�Ó ¿�¾�Ú87�Þ�Å9#®¸�Á-¸�¶ ·�Æ7¶ ·�¸�¶ ¹ º�»

:5;8<>= ? @�<3<BA�C <ED @�F8G G HJI8K�L <ED M>F8K8G <.K�<8N�F>MB? IEO8DPC I.K�<.Q8D I�;EO�R�<�;= D I8STFVUE? MB<8@W? @8Q8O>C

:5;8I8@�X CY@�<�<8;W? @>= IED SVF>C ? IE@VF8K�IEO>CY? SWQ8G <8SV<8@>C F>C ? I8@« ÔBÕAÖB× Ø ¯ ­}²³µ´0´Ð¾Å�É�·Ç¸�¶ À ¼�¾�¶ ¼�À ·ÈÆ@¿-¶ ¶ ·�À ¸³�Ä�Å�Ó Á6Æ@ÅAÀ Ä�Í�¹ ¸ÆÇÊ@¹ º�Í�·�À ¹ ¶ ¿�º�¾·�Ê@·�º�¾¿�Ä�¸�¼�Ó ¿-¶ ¹ Å�ºÎÄ�À ·�¸·�ºß¶Å�Ä�Ä�Å�À ¶ ¼�º�¹ ¶ ¹ ·�¸9Ñ Å�À�·�À À Å�ÀV- Æ@ÅAÀ ·½Ó ¿-¶ ·�À 1

� � �� � � � ���� � � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Myth #5

« ¬®­°¯�±0²³µ¾Å�º-Ï-·�º-¶ ¹ Å�º�¿�Ó߶ ·�¸�¶ ¹ º�»È¹ ¸@¼�¸·�Ó ·�¸¸9Ñ ÅAÀ�Å�ÞBZ ·�¾�¶ ¸« ÔBÕAÖB× Ø ¯ ­}²³Ý¶ Í�·�À ·½¹ ¸2¿½Ó ¿�À »�·ÈÞ�Å�É-Á+Å-Ñ}Ú�º�Å-Ë®Ó ·�É�»�·Ç¿�Þ�Å�¼-¶�¶ ·�¸�¶ ¹ º�»³�Þ�¿�¸¹ ¾Ì¶ ·�¸�¶ ¹ º�» ¶ ·�¾�Í�º�¹ [�¼�·�¸Î¾Å�º-¶ ¹ º�¼�·7¶ Å ¿�Ä�Ä�Ó Á�Ë®¹ ¶ ͺ�·�¾·�¸�¸¿�À Á+¾�Í�¿�º�»�·�¸³�¹ Ñ ¸¾Å�Ä�· Å-Ñ ¶ ·�¸�¶ ¹ º�» ¹ ¸ ¸�Æ@¿�Ó Ó Ê ¹ · ¾�Ó ¿�¸�¸·�¸ ¿�º�ɾÅ�Ó Ó ¿�Þ�Å�À ¿-¶ ¹ Å�º�¸

:\C <8L C ? @�UPC <�R�N8@8? ]EO�<�L&F8D <^MB<8D HP_(_3L�Q�<�R�? = ? Ra`PSVIED <WG F>C <8D³µ¿�¸2¸�¾ÅAÄ�·½Å-Ñ�¶ ·�¸�¶ ¹ º�»½»�·-¶ ¸@Ó ¿�À »�·�À:\C <8L C ? @�UPC <�R�N8@8? ]EO�<�LbK�<�R�I�SV<VSVIED <^C D F�;E? C ? IE@�F8G

� � �� � � � ���� � � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Myth #6

« ¬®­°¯�±0²³�¹ º�Í�·�À ¹ ¶ ¿�º�¾·�Æ@·�¿�º�¸Ðº�·-Ï-·�ÀÈÍ�¿-Ï6¹ º�»7¶ Å�¸�¿-ÁÎÁ6Å�¼�¿�À ·¸Å�À À Á³µ¸�Ä�·�¾�¹ ¿�Ó ¹ c¹ º�»KÑ À ÅAÆ ¿�¶ À ¼�¸�¶ ·�Éθ¼�Ä�·�À ¾�Ó ¿�¸�¸�Æ@·�¿�º�¸µ¶ Í�·¹ º�Í�·�À ¹ ¶ ·�ÉÈÄ�¿�À ¶/Å-Ñ/¸�¼�Þ�¾�Ó ¿�¸¸�·�¸9ËÒ¹ Ó Ó�¿�Ó ¸ÅÈÞ�·½¾Å�À À ·�¾�¶³ÝË9·½É�ÅAº"! ¶}º�·�·�É+¶ ÅÈÀ ·-¶ ·�¸�¶ ¹ º�Í�·�À ¹ ¶ ·�É+Ñ ·�¿-¶ ¼�À ·�¸« ÔBÕAÖB× Ø ¯ ­}²³µ¸�¼�Þ�¾�Ó ¿�¸�¸·�¸ ¾�À ·�¿-¶ ·�º�·-Ë ËÒ¿-Á-¸�¶ Å�ƽ¹ ¸¼�¸�·�¹ º�Í�·�À ¹ ¶ ·�ÉÑ ·�¿-¶ ¼�À ·�¸³µÉA¹ Ñ Ñ ·�À ·�º-¶2¶ ·�¸�¶Ò¾¿�¸�·�¸È¿�À ·�º�·�·�É�·�É�Ñ ÅAÀ2·�¿�¾�Í ¸¼�Þ�¾�Ó ¿�¸¸-�Æ@Å�À ·½Ó ¿-¶ ·�À 1

� � d� � � � ���� � � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Myth #7

« ¬®­°¯�±0²³�À ·�¼�¸�·½ÆÇ·�¿�º�¸@º�·-Ï-·�ÀBÍ�¿-Ï6¹ º�» ¶ ÅǸ¿-Á@Á-ÅA¼Ç¿�À ·Ç¸�ÅAÀ À Á³�À ·�¼�¸¹ º�»Ý¿ ¶ À ¼�¸�¶ ·�Éݾ�Ó ¿�¸¸½Æ@·�¿�º�¸½Þ�·�Í�¿-Ï6¹ Å�¼�À0Å-Ñ ¸·�À Ï-·�ÀÅ�ÞBZ ·�¾�¶7¹ ¸ ¶�À ¼�¸�¶ Ë9ÅAÀ ¶ Í-Á ¿�º�É É�Å�·�¸º"! ¶7º�·�·�É ¶ Å Þ�·¶ ·�¸�¶ ·�É

« ÔBÕAÖB× Ø ¯ ­}²³�º�Å-¶ Í�¹ º�»ÈÄ�À ·-Ï-·�º-¶ ¸2¿Èº�·-Ë7¾�Ó ¹ ·�º-¶ ¾�Ó ¿�¸¸ÒÑ À Å�Æ ¼�¸¹ º�» ¶ Í�·¸·�À Ï-·�À�ÅAÞ>Z ·�¾�¶}¹ º�¾Å�À À ·�¾�¶ Ó Á³µ¿�Ó Óݾ�Ó ¹ ·�º-¶7¾�Ó ¿�¸�¸ ¼�¸· Å6Ñ�¿ ¸�·�À Ï-·�À�º�·�·�É�¸ ¶ Å Þ�··$#-·�À ¾�¹ ¸·�É

20

� � �� � � � ���� � � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Myth #8

« ¬®­°¯�±0²³�Þ�Ó ¿�¾�ÚÇÞ�Å$#@¶ ·�¸�¶ ¹ º�»Ý¹ ¸2¸�¼-Ñ Ñ ¹ ¾�¹ ·�ºß¶³µÉ�·�¸¹ »Aº�¹ º�» ¶ ·�¸�¶Ì¾¿�¸�·�¸ ¼�¸�¹ º�» ¾�Ó ¿�¸¸ ¹ º-¶ ·�À Ñ ¿�¾· ¿�º�ɸ�Ä�·�¾�¹ Ñ ¹ ¾¿-¶ ¹ ÅAºÇ¿�¸�¸�¼�À ·�¸9¶ Í�·Ç¾�Ó ¿�¸¸@¹ ¸9Ñ ¼�Ó Ó Á®·$#-·�À ¾�¹ ¸·�ɳÝËÒÍ�¹ ¶ ·ÈÞ�Å9#@¶ ·�¸�¶ ¹ º�»+Ï6¹ Å�Ó ¿-¶ ·�¸2·�º�¾¿�Ä�¸�¼�Ó ¿ß¶ ¹ ÅAº« ÔBÕAÖB× Ø ¯ ­}²³µ¸�¶ ¼�ÉA¹ ·�¸�¸Í�Å-Ë Þ�Ó ¿�¾�Ú87�Þ�Å9#ж ·�¸�¶ ¸�¼�¹ ¶ ·�¸�¶ Á6Ä�¹ ¾¿�Ó Ó ÁÌÅAº�Ó Á·$#-·�À ¾�¹ ¸·���� �̶ Å������ÐÅ-ÑǶ Í�·Ð¸�¶ ¿-¶ ·�Æ@·�º-¶ ¸ - Ó ·-¶ ¿�Ó ÅAº�·Ä�¿-¶ Í�¸2ÅAÀ�¸�¶ ¿-¶ ·�¸B1³Ý¶ Á6Ä�¹ ¾¿�Ó Ó Á Æǹ ¸¸ ¿�Þ�º�Å�À Æ@¿�Ó�Ä�¿-¶ Í�¸Ê�·$#-¾·�Ä߶ ¹ ÅAº ¿�º�É·�À À Å�À 7�Í�¿�º�ÉAÓ ¹ º�»

� � �� � � � ���� � � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

XP’s Approach to Testing

«��� �����Ö����ÝÕ�����±� ��B× �³ÝÑ Å�¾�¼�¸2Å�º®¶ ·�¸�¶ ¹ º�»Ý¹ º½Å�À É�·�À/¶ ÅÇ»A¹ Ï-·Ç¾�Í�¿�º�¾·®¶ Å+¶ Í�¹ º�Ú¿�Þ�Å�¼-¶�Ë®Í�¿-¶}¾Å�É�·®Ë®¹ Ó Ó�É�Å�Ê�¹ º�É�·�Ä�·�º�É�·�º-¶ Ó Á+Å-Ñ}Í�Å-Ë7¹ ¶¹ ¸@¹ ÆÇÄ�Ó ·�ÆÇ·�ºß¶ ·�ɳÝËÒÀ ¹ ¶ ·½·ßÏ6·�À ÁǶ ·�¸�¶ Í�·���¸Í�·Ç¾¿�º®¶�Í�¹ º�Ú@Å-Ñ�¶ Í�¿-¶�ËÒÅ�º"! ¶ À ¼�º¹ ÆÇÆ@·�ÉA¹ ¿-¶ ·�Ó Á®Å�º½·$#6¹ ¸�¶ ¹ º�»½¾Å�É�·³µ¾Å�º�¸�¹ É�·�À°¶ ·�¸�¶ ¸2¿�¸2»�¹ Ï6¹ º�»½¾Å�º-Ñ ¹ É�·�º�¾·®¶ Í�¿-¶�¶�Í�¹ º�»�¸2¿�À ·Ë9ÅAÀ Ú�¹ º�»

: D <�;EO�R�<�L0C ? SV<VL�Q�<E@>C9;8<8K8O�U�UE? @�U³µ¾Å�º�¸�¹ É�·�À°¶ ·�¸�¶ ¹ º�»½¿�¸2¿+¶ Á6Ä�·ÇÅ-Ñ}Æ@·-¶ À ¹ ¾��:5L IB= C �aF8D <^= <8F>C O8D <8L0C N�F>CYR F8@�X CYK�<V;8<�SVIE@�L C D FBC <�;5K>HF8O>C I�SVFBC <�;PC <8L C L �";8I8@�X C9<>A ? L C

� � �� � � � ���� � � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

XP’s Design throughRefactoring

«���Ö ��Õ��� �!�¯�Õ ��¯#"�Ö ��Õ��³�Ä�¹ ¾�Ú@¼�Ä®Ñ ¹ À ¸�¶�¶ ·�¸�¶/¾¿�¸·³�¹ ÆÇÄ�Ó ·�Æ@·�º-¶/¾Å�É�·®¶ Ž»�·-¶�¶ ·�¸�¶/¾¿�¸�·ÈÀ ¼�º�º�¹ º�»³�Ä�¹ ¾�Ú@¼�Ľº�·$#�¶�¶ ·�¸�¶}¾¿�¸�·³�À ·-Ñ ¿�¾�¶ ÅAÀ�¾Å�É�·®¶ Ž»�·ß¶}¸¹ ƽÄ�Ó ·�¸�¶}¹ ÆÇÄ�Ó ·�Æ@·�º-¶ ¿-¶ ¹ Å�º®¶ Å»�·-¶}Þ�Å-¶ Í®¶ ·�¸�¶/¾¿�¸·�¸@À ¼�º�º�¹ º�»³�À ·�Ä�·�¿-¶BÑ Å�À0À ·�¸�¶/Å6Ñ�¶ ·�¸�¶}¾¿�¸�·�¸

«��� �$�Ö�$B× ­&%' �!�( ¯#%) ���*,+ ��@× Ö�� �BÕ-�-­.��¯�Õ��,�³ÝÑ Å�¾�¼�¸2Å�º®¶ ·�¸�¶ ¹ º�»Ý¼�Ä®Ñ À Å�º-¶}¹ ¸@¹ º-¶ ·�À ·�¸�¶ ¹ º�»

� � /� � � � ���� � � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

OO Testing in Four Phases

0�1 �, ���ÕB× Ø ! �Я�±�Õ��2 �+ ¯ %ÈÖ���Õ Õ�!.3°Ø �� �!��ÝÕ�!A¯4 1 ��Õ�× Õ�"�¯�Ø ! �Я�Õ ��¯#�2"�Õ�!�Ö���Ø ��³ÝË9·+ËÒ¹ Ó Ó�Ó Å�Å�Ú2¿-¶ ¼�º�¹ ¶B¶ ·�¸�¶ ¹ º�»½Å�º�Ó Á

5 1 �6��!�!�Ø !��ÐÖ�!���Õ.3ÃÖB× ��ÖA¯�Ø !���¯�Õ ��¯#�7"�Õ�!�Ö���Ø ��8�1 �ÝÕ�Ö ������Ø ! �Я Õ���¯�Ø !��9��� �����Õ��2�

� � �� � � � ���� � � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

1. Modelling the Software Environment

«��� ��¯@Ø ��Õ�!A¯�Ø + ­�Ö�!��:��Ø ����× Ö�¯�Õ�Ø !�¯�Õ���+ Ö�"�Õ ��7 �+ ¯�%½Ö���Õ��ß­.��¯ Õ��;� ��Õ �³�Í�¼�Æ@¿�º½¹ º-¶ ·�À Ñ ¿�¾·�¸

:5SV<>C N�I�;8LbQ�<�IEQ8G <WO�L <^C IWR I8SVSWO8@8? R�F>C <<�^? C NVL IB= C �aF8D <:5SWO�L CYR IE@�L�? ;8<8D(N�I��,C IPC <8L CY? @8Q8O>C"= D I8ST;E? = = <ED <8@>C9;8<>M ? R <�L

³µ¸Å-Ñ ¶ ËÒ¿�À ·½¹ º-¶ ·�À Ñ ¿�¾·�¸: N�I=�JL IB= C �0F8D <WO�L <�L&IEQ�<ED F>C ? @�UWL HBL C <�S��";8F>C FEK�F8L <6�"D O8@>C ? SV<G ? K�D F8D H

:5SWO�L C(C <�L CY<>ABQ�<�R C <8;VFE@�;5O8@�<>A Q�<�R C <�;WF�R C ? MB? C ? <�L&I>=9L <ED MB? R�<R�G F8L L <�L

� � �� � � � ���� � � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

1. Modelling the Software Environment

³ÝÑ ¹ Ó ·½¸�Á-¸�¶ ·�Æ�¹ º-¶ ·�À Ñ ¿�¾·�¸: D <�F8;�L&IED��^D ? C <�L0C IV<>A�C <ED @�F8G>= ? G <�L:5SWO�L CYR�N�<�R6>0C IVL�<�<W? =$;8F>C F^= D I8S C N�<^= ? G <W? L&F8Q8Q8D I8Q8D ? F>C <W? @R�I8@>C <8@>C9F8@�;P= IED SVF>C C ? @�U

³µ¾Å�ƽÆǼ�º�¹ ¾¿-¶ ¹ ÅAº½¹ º-¶ ·�À Ñ ¿�¾·�¸:5;E? D <�R C9F�R�R <8L L0C I5Q8N>H>L�? R�F8G�;�<BMB? R�<�L ? <�U2@2A(D ? MB<8D L �ER�IE@>C D IEG G <8D L �IBC N�<8D"<�S5K�<8;�;8<�;WL HBL C <8SVL�B

:5SWO�L C0K�<VFEK�G <^C IVU8<8@�<8D F>C <^MBF8G ? ;VFE@�;W? @>MBF8G ? ;5Q8D IBC I8R�I8GL C D <�F�SVL �"<�U5Q�F8R�>�<>C L

21

� � �� � � � ���� � � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

2. Selecting Test Scenarios

� ¾Å�º�¸�¹ É�·�À�¿�Ä�Ä�Ó ¹ ¾¿-¶ ¹ Å�º½É�ÅAÆ@¿�¹ ºÇ¿�º�É+Ï-¿�À ¹ ¿�Þ�Ó ·�¸`*D <8Q8D <�L�<8@>C Lb? @>= ? @8? C <W@8O�SWK�<8D"IB="C <�L C9L R�<8@�F8D ? I8L`*N�I=�J;8I8<�L0C <8L C <8D"R�N�I8I�L <WF��>D <�F�L IE@�F8K8G <�� L�O8K�L <>C������ �� ��� � �� ��� �������� ��� �� �������� � � ��� � � � � � �"!�� # � � $ % & ��'"( � % ) * +-, .-) & % �"/ � #-% � * % & ' �01 � ��'�/ �"& ' 2 & ' & % ��3& ' ( $ %�� ��4-��& '�� � � ��� � �", / 5 � � 6�/ � #-% � * % & ' �01 ' � %7& ' ��& � & ��$ � 5 & '�( $ % * 8�/ $ %7& ' ( $ %�* � 9�$ ��' � � *1 ' � %���' 5 :�& ' ( $ % *-/ $ %�* % � % �-��2���/ ; � � %74-� % % � � *1 * � ��' � � & � *<% ��.-)�& � )"( � � �� � 4�4�$ * %7� � * ( ��' �1 ��5 * ��� � '"/ �"& ' 2 & ' & % �

=?> @ A�> BDC7@ @ E FHGDCI>KJ�G�L >KM�B�L�L�E J�N GO> G�L >QP7CI> CDC�P7G�R<S�C�T AOT�@ E > G7@ E CU�V W�X Y�Z [�\ ] W�^ _ ` V�W

a b bc d e e f�gh�i f j k e l h j m n o p q r p�s b s t m m u v w w x x x y z h y { d e e f h d y z | w } z j h z s b s

Complications From Inheritance (1)

~�� �-�I�O�<� �-��� super � � � �H� � � � �<� �-� � �-��� ��� �-���-� A � � � B~ � ����� �-�I�O�<� �-�����<�-�~ � ������� � � � � � � �O����� �<�-��� ��� �-�H� � � �<���~��<�-� � � �-� � � � ��� ��� � � �-�-��� � � �-� � �-�I� � � �7���~��<�-���-�-���¡ ��7��� � ���£¢�¤� � � �-� � � � � �-��� �-�¥�O ��7��� � ���¦� � ���-� � � §� ���¡�I� � � �-�-������� �¨� �-�H�� �© �3�-���ª� � �

super

int A(int x)int B(int x)

sub

int B(int x)int C(int x)

a b sc d e e f�gh�i f j k e l h j m n o p q r p�s b s t m m u v w w x x x y z h y { d e e f h d y z | w } z j h z s b s

Complications From Inheritance (2)

~�� �-�I�O�<� �-��� super � � � �H� � � � �<� �-� � �-��� ��� �-���-� A � � � B~ � ����� �-�I�O�<� �-�����<�-�~ � ������� � � � � � � �O����� �<�-��� ��� �-�H� � � �<���~ �ª� � �����-�7�7� � � � � � �-�-��� �¨� �<�H��� � � � � ���ª�7���~«���¥���¬�-��� � � �¦�7��� � � ��­<­~ � �-�-��� �¨� �-�H���?� � � ��� �<� � ��� �

super

int A(int x)int B(int x)

sub

int B(int x)

a b ®c d e e f�gh�i f j k e l h j m n o p q r p�s b s t m m u v w w x x x y z h y { d e e f h d y z | w } z j h z s b s

Testing Objects

¯�°²±K°�³ ´�µ ¶-°¸·?°�¹�º"»�¼�¶?½�³�»²¾²µ ¼�°�¼¸¿KÀ¤»�¿KÁ °"´-¹�Â�µ ¹�ºÃ »�Ä�Å ¶�»�Æ�Ç�È"´�»²¾K°�³�µ È Ã °�³�³�»�³�¶�µ ȸ³�°"¶�Ç�Å ¹ ¶-Éʶ-¹ Ä�¹�°Ë»�Æ»�¿KÁ °"´-¹�ÉÊ»�³3¿"»�¹�º

¯«·ÌÇ"¶-¹�¹ °�¶-¹�µ È�¹�°�³�Ä�´-¹�µ »�ÈÌ¿�°�¹ ¡°�°�ȸ·Ë°"¹�º�»�¼�¶?µ È»�¿KÁ °"´-¹

¯«·ÌÇ"¶-¹�¶<°�Ä�³�´�ºÌÆ »�³�Ä�Å Å�½"Ä�¹ ¹�°�³�È�¶�»�Æ�·Ë°"¹�º�»�¼µ Ȳ¾K»�´�Ä"¹�µ »�ÈÌ»�ÆÊ»�¿KÁ °"´-¹Í¤Î3Ï�Ð Ñ-Ò-Ó�Ô�Õ7Ö�סØ-Ï¡Ù ×�Ú�Ò�Û7Ï-Ó�٠תÖ�×�Ü�Ý Ö�×-Ó�Ò�ΫÒ�Ý Ó�Ï-ÝÞ Ï-Ö-Ó�Ù ×-ß�Ð Ò¡Ö Þ Ö�Ý ß-Ï�×�à-ΡØ<Ï�Ý�ÒQá�Õ7Ò�ΪØ�Ù ×-Ö�Ð Ù Ò�×-Ô

â ã äå æ ç ç è�éê�ë è ì í ç î ê ì ï ð ñ ò ó ô ò�õ ã õ ö ï ï ÷ ø ù ù ú ú ú û ü ê û ý æ ç ç è ê æ û ü þ ù ÿ ü ì ê ü õ ã õ

3. Running and EvaluatingTest Scenarios (1)

¯«·ËÄ�È�Ç"Ä�Å Å À¤°K±K°�´�Ç�¹�µ È Ã ¹�°"¶-¹�¶<´-°�È�Ä�³�µ »�¶?µ ¶�Å Ä�¿�»�Ç�³��µ È�¹ °�È�¶-µ ¾²°ËÄ�È�¼Ì°�³�³�»�³3½�³�»�È�°Í¦Ö�à�Ð Ò�Î3Ö�Ð Ï¡Ö<Ô�Ö ��� Ý Ò � Ý Ù Ö�Ð Ï��� ����� ������� ������������� ������ ���� �� � ������� � � � ��� ��!�"#����$ $ ��$ �%'&)(�*�+ (�, - .�/ - /�0 1 * 2 3�- 4 .�5�6�7�8:9 9

ͦÒ�á Ð Ï�ס٠×-Õ Þ à-Ó-Ï Ï<;<Ð Ý ÖªÕ7Ò-Ó�Ï¨Ð Ò � Ý ÒQÚQÙ Ó-Ï�Ù ×¥á Ò�Ý Î3Ö�Ð Ù Ò"×Ö�Ø-Ò�à�Ð�Ú�Ö�Ý Ù Ö�Ø Þ Ï-Ô�="Ò"Ø�> Ï-ÕHÐ � Ý Ò � Ï�Ý Ð Ù Ï-Ô�="Ï�Ð Õ�Ó"à�Ý Ù ×<ß Ð Ï<ÔHÐÝ à�×<Ô

Í@?¬Ý Ù Ð Ï¡Õ7Ò-Ó�Ϩá Ò"ݲРÏ-ÔIÐ Ö-Ø�Ù Þ Ù Ð ÜBA�Õ7Ò�×�Ð Ý Ò Þ Þ Ö�Ø�Ù Þ Ù Ð Ü¨Ö�×-ÓÒ�Ø-Ô7Ï-Ý Ú�Ö�Ø�Ù Þ Ù Ð Ü

â ã Cå æ ç ç è�éê�ë è ì í ç î ê ì ï ð ñ ò ó ô ò�õ ã õ ö ï ï ÷ ø ù ù ú ú ú û ü ê û ý æ ç ç è ê æ û ü þ ù ÿ ü ì ê ü õ ã õ

3. Running and EvaluatingTest Scenarios (2)

¯�°²¾KÄ�Å Ç"Ä�¹�µ »�ÈË»�Æʹ�°"¶-¹3³ °�¶�Ç�Å ¹�¶Í¦Õ7Ò�Î � Ö�Ý Ù Ô�Ò"תÒ�á�Ô7Ò�á Ð ?�Ö�Ý ÏED Ô�Ö-ÕHÐ à-Ö Þ Ò�à�Ð � à�Ð�Ð Ò�Ù Ð ÔÏ<; � Ï-ÕHÐ Ï-Ó¡Ò"à¥Ð � à�Ð

ͦÒ�á Ð Ï�תÓ"Ù á á Ù Õ<à Þ Ð�Ð Ò¡Ó-Ò�F�G�H�I������� ��$ ����� �JK� ������� � �L������ � ��$ � ��GM� ��$ �������� N����O�����N���� ��� � ��P�� ��G�� ��������� �KQ�� ��G����� �%'4�3 RS.�T .�5 U�4�+�&)(�*�V (�*�/ W 3�-�X�, 1 - V 4�. /�1 *)- .�/ -�2�(�- (�U�- .�/ -E5 .�/ +�, - / U/ +�1 - .�3�0�- .�/ -�V (�/ .�/

�F�G�H�YKZKN��� � ��M����� N����O��� � � � ����� �E� ���� ����$ ��� �� �LN�$ ���� � �O��$G�����$ �K� [ �����������KZKN��� � ��M����� N����E� ��$E��� �M��� ��� � ���N�$ ��G�$ ����B� ��$�N�$ ������ � ����K�O�M������� ���$EG�����$ ��� � ��G� � ��� � ����\

22

â ã �å æ ç ç è�éê�ë è ì í ç î ê ì ï ð ñ ò ó ô ò�õ ã õ ö ï ï ÷ ø ù ù ú ú ú û ü ê û ý æ ç ç è ê æ û ü þ ù ÿ ü ì ê ü õ ã õ

4. Measuring TestingProgress

¯�¼�°�¹�°�³�·Ìµ È�µ È ÃÍ@?¬Ñ-Ï�רРҡÔHÐ Ò � Ð Ï-ÔHÐ Ù ×<ß� ��������� � ����������K���M$ ��������O�K�E� � �������� ��$�$ �� ����$ ����

Í@?¬Ñ-Ï�רРÑ-Ï � Ý Ò-Ó"à-ÕHÐOÙ Ô3Ý Ï-Ö-Ó�ܪРÒ�Ý Ï Þ Ï-Ö-Ô7Ï������� ��M����������� ���� �� ����G�������

¯«È�°"°�¼�DÇ"Ä�È"¹�µ ¹�Ä�¹�µ ¾²°¸·?°�Ä"¶�Ç�³�°�¶Í¦Ï-ÔIР٠ΪÖ�Ð Ù Ò"תÒ�áO×�à�ΪØ-Ï�Ý�Ò�áOØ�à-ß�Ô Þ Ï�á ÐO٠תÔ7Ò�á Ð ?�Ö�Ý Ï������� ��M���

� $ ��� ��� ����� ��������G�����$ � � � � ������ ��GL� �������� �����$ M� �� �K� � � ��$ �����G�����$ ����� ��GL� �������� $ ��� �K������GL� � ZK� ��G

top related