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

22
1 CISC 323: Intro to Software Engineering 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 supports organizational mandate Definitions of Quality OED: the standard of something when compared to other things like it (a wine of excellent quality); of high quality, general excellence Crosby: zero defects ISO: The totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs. Juran: Fitness for Purpose DoD: The degree to which the attributes of the software enable it to perform its intended end use. Quality is Relative Rolls Royce: quality when cost is no object Ford Taurus: quality tradeoffs when cost is a factor Mini: minimum acceptable quality when cost is the dominant factor. Costs include initial cost, cost of operation, and cost of repairs. Quality -- General is multidimensional (all aspects of a car) is subject to constraints (e.g. cars must fit on roads) is about acceptable compromises (e.g. poorer ride 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

Upload: others

Post on 19-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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

Page 2: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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[�

Page 3: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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!�

Page 4: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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

Page 5: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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

Page 6: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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

Page 7: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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+ "&�

Page 8: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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�}��¦�°�³ ¦*)

Page 9: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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+ ) '�&

Page 10: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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

Page 11: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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�Å Ã

Page 12: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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����,��� ���

Page 13: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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

Page 14: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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½

Page 15: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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

Page 16: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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 [email protected] 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 *

Page 17: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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Ú&Ë&Ö Ø*Ú,Ë>Û�Ë

Page 18: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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º�¿�Ó ¹ ¶ Á+¿�º�Éݹ º-¶ ·�À ¿�¾�¶ ¹ Å�º�¸@Þ�·ß¶ ËÒ·�·�º¾�Ó ¿�¸�¸·�¸

Page 19: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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Ñ�¿ ¸�·�À Ï-·�À�º�·�·�É�¸ ¶ Å Þ�··$#-·�À ¾�¹ ¸·�É

Page 20: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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

Page 21: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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� � ��� � ����\

Page 22: research.cs.queensu.caresearch.cs.queensu.ca/home/cisc323/2002w/slides/Quality... · 2002-03-25 · 1 CISC 323: Intro to Software Engineering ! #"%$'&)(+*-,/.)01(32546$87 What Does

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