AW8 Concurrent Session 11/7/2012 2:15 PM
"Orthogonal Defect Classification: An Agile Test/QA Primer"
Presented by:
Ram Chillarege Chillarege, Inc.
Brought to you by:
340 Corporate Way, Suite 300, Orange Park, FL 32073 888‐268‐8770 ∙ 904‐278‐0524 ∙ [email protected] ∙ www.sqe.com
Ram Chillarege Chillarege, Inc.
Ram Chillarege is president of Chillarege Inc., a consulting firm focused on software engineering optimization using Orthogonal Defect Classification (ODC). In 2004, he received the IEEE technical achievement award for the invention of ODC. Ram founded and led the Center for Software Engineering at IBM for almost a decade, and helped conceive and lead the corporate-wide Testing and Process initiatives in the 90s. Ram is chair of the IEEE Steering committee for Software Reliability, has published around fifty peer-reviewed articles, and is an IEEE fellow. Ram chaired the ISSRE 2009 conference and co-guest edited the September/October 2010 issue of the Security and Privacy magazine.
�� ������� ������ � ���������������� ������ � ���������
��������� ��� ��������� ��������������� ��� ��������� ������
�� ���� ���������������� ���� ��������������
��� ���������� �������
�� ��� �
������������������������������
����
������� ������ � ���������������� ������ � ����������
������ ������� �
���������� � ���������������������� �� ���������� ����
���� � ������ � ����������� � ����������� � ����! ���
�� " ���# ��������������$���� ��%�������� �������#������
����#� � ���� ������������ ������% � ����� � ��� � ����� � �
��������" & �����# ���������� � ���������������'���(� )�����
� ������������� � ��������������� ���������������������
� * �+� ���+��� ���������� ��������� �� ,���%��* �*� #���
������� ���� � �+� � ������� ����� ���������� ��� �� �����
������� $#�������������� �+��- ������ �� ����� ����� �� ���
� ��� �� ��� �� ���* � ������� ����� * � ��+�������� *�� ���
�� ���* � ������� ���������+� ����� �� ���+���������������
+��� ����% ��-��������� � ���!����� ������������������� �� �������
�� �� * �+� ���+����� ������� +�# ����� ����� ����,� ���
������ ����!�)�������� � �� * ���� ���� ��� �� �+��- ������
������ # # ������ ��� � � ��� #�� �� ��������� ,��� ���
� �����
������� ������ � ���������������� ������ � ���������.
�� �� ������ ����� ��!� � �������"���� ����#����������������� �� ������ ����� ��!� � �������"���� ����#���������������
���������������� �������� ���������������������� �������� ������
��� �������������������� ��������� �������������������� ������
������� ����� �������� ����� ��������� ����� �������� ����� ��
!�� "����#���$ ������ �%��� ���&�����!�� "����#���$ ������ �%��� ���&�����
'����(����������)����� �� ����'����(����������)����� �� ����
*�� ����#�+����,����(��� �-������*�� ����#�+����,����(��� �-������
������ ������ ����(����������������������� ������ ����(�����������������
�������������� �-����������������������� �-���������
./����#� ����01�����/������ ��1./����#� ����01�����/������ ��1
������������� �� �222 3�������������������� �� �222 3�������
$������������� ��� ����$������������� ��� ����
������� ������ � ���������������� ������ � ���������/
$�� %������ &$�� %������ &
'������ �� ��������'������ �� ����������� �����/(�������� �����/(����������������������������� ��������������� �����������������������
� ��������������������
� ����������
� ������������
� �01�01
� 1�������1�������
� +$'$+$'$
� +����+����
� 3�������3�������
3�� ����/���/�3�� ����/���/��������� ������������������ �������������� ������������������ ��������������
4������- ��- ����4������- ��- ��������/ ��� �/�� ������������/ ��� �/�� ����������� ��� ��� ������ ��� ��� ���(������ ��- �� �����(������ ��- �� �������,�� �������� �����,�� �������� ����/���/��-� ����/���/���/��-� ����/�����- ����� 56���7�89���- ����� 56���7�89�������������� -��������������� -�����)�� (����� ��������)�� (����� ����������������������������
������� ������ � ���������������� ������ � ���������2
��� �����#�� %�'���� ��(������#���������'�%���#����) ����'���� �����#�� %�'���� ��(������#���������'�%���#����) ����'�
��! �������� ��� �����! �������� ��� ���
������� ������ � ���������������� ������ � ���������3
������(� ��'���%�����������* #������ ����%�� ���+!� ������� ��������(� ��'���%�����������* #������ ����%�� ���+!� ������� ��
!��� ���*(����%� ����!��� ���*(����%� ����
������� ������ � ���������������� ������ � ���������4
��,-�.�.� �� �%�!� �%��+���� ������������(���,-�.�.� �� �%�!� �%��+���� ������������(�
����
�������
����
� ���� �� ������ ����
������������
�� ������ ����
� �� �
����������
� � ���� � ���
� �� �
�� ������� ������ � ���������������� ������ � ���������
�����.�%!*�����.�%!*
�/����� ��/�� ������/����� ��/�� �����
*�������� � 4��� :���;�*�������� � 4��� :���;�
4�-;�4�-;�
4��� ��;�4��� ��;�
4�- ���;4�- ���;
������� ������ � ���������������� ������ � ���������56
�%������ ����&��%������ ����&�
�� ��(� ��+/ -��%����� ����0�.�'����* +/ ������� ��(� ��+/ -��%����� ����0�.�'����* +/ �����
������������
����������
��������������
����� ���
!��������������
"� �� �����
#����������
$��������
����������
:����#:����# ����(����- ��� ������- ������(����- ��� ������- ��
�/����� ���-�/����� ���-
$��/��#$��/��# ����(����- ������������(����- ��������
����</������</��# 2������� �/��������# 2������� �/��������
���� ���������� ������
� �����������
���� ����
��/���/� 2����2����
*��(����-#*��(����-# 2�� ��� ����������������� ��2�� ��� ����������������� ��
/�/�
����(����-#����(����-# :����� �����/� ����/�:����� �����/� ����/�
:��������#:��������# '��� ������ ���� �����'��� ������ ���� �����
��� ��������� ������
1��������(����-#1��������(����-# *������ ��"�� ���������*������ ��"�� ���������
�� ������� �����
������-#������-# ��������� �� ���� ��� ������������� �� ���� ��� ����
��������(����-#��������(����-# :���� ��� ���� ������� ��:���� ��� ���� ������� ��
�/������/��/������/�
����(����-#����(����-# :����� �/�������� �</�����:����� �/�������� �</�����
�� �������������� ������������
$ ����(����$ ����(���� � �� ��� � �� �� ��� � �
������� ������ � ���������������� ������ � ���������55
��� %����� ����! ������� %����� ����! ����
�� ������� ��! ��(� ��������%������ ������� ��! ��(� ��������%����
���� ���
%� �� � � ������� �����
���� ������
#� � ����������
#����� � �&�������
��'�������
���� �������
������ "���
����� � � ������� �����
��� ��� #���� �
(� ������
)� *���� �� ���
�����������
������������
����������
����� ���
!��������������
"� �� �����
#����������
$��������
����������
��/�#�3���������� 2����#���/�#�3���������� 2����#�
������ ������������ ������� �!��� ���+������� �� �!��� ���+������� �
'�������� �( ���#��� �'�������� �( ���#��� �
���� �+������������ ����������� ����� �+������������ ����������� �
�++�������� �� )��� ����������� �������++�������� �� )��� ����������� ������
+��*�� ���� ������������ �� � �� � �� ��$+��*�� ���� ������������ �� � �� � �� ��$
��������� �������+ ������� ����,� ����������� �������+ ������� ����,� ��
������� ���������� ���
7�������8 9��+ ���� 89 ,� �����7�������8 9��+ ���� 89 ,� �����
8��� �������8 ��* �� �:�/6; ��8��� �������8 ��* �� �:�/6; ��
� �!��� ���+��� �!��� ���+��
������� ������ � ���������������� ������ � ���������5�
1� � ��! �� �� 21� � ��! �� �� 2
�������� ����������� �� � (���� %�� ��(� ���������� ����������� �� � (���� %�� ��(� ��
���� ���
%� �� � � ������� �����
���� ������
#� � ����������
#����� � �&�������
��'�������
���� �������
������ "���
����� � � ������� �����
��� ��� #���� �
(� ������
)� *���� �� ���
�����������
������������
����������
����� ���
!��������������
"� �� �����
#����������
$��������
����������
���� ���
%� �� � � ������� �����
���� ������
#� � ����������
#����� � �&�������
��'�������
���� �������
������ "���
����� � � ������� �����
��� ��� #���� �
(� ������
)� *���� �� ���
�����������
������������
����������
����� ���
!��������������
"� �� �����
#����������
$��������
����������
� �!��� ��+������� �� �!��� ��+������� �
'�������� �( ���# �� �'�������� �( ���# �� �
���� �+������������ ����������� ����� �+������������ ����������� �
�++�������� �� )��� ����������� �������++�������� �� )��� ����������� ������
+��*�� ���� ������������ �� � �� � �� ��$+��*�� ���� ������������ �� � �� � �� ��$
��������� �������+ ������� ����,� ����������� �������+ ������� ����,� ��
������� ���������� ���
7�������8 9��+ ���� 89 ,� �����7�������8 9��+ ���� 89 ,� �����
8��� �������8 ��* �� �:�/6; ��8��� �������8 ��* �� �:�/6; ��
� �!��� ���+��� �!��� ���+��
9�� ���� �������� ��#����� ����� �9�� ���� �������� ��#����� ����� �
�� ������������� �� �!��� ����� ���� ������������� �� �!��� ����� ��
��/�#�3���������� 2����#���/�#�3���������� 2����#�
������ ������������ ������
������� ������ � ���������������� ������ � ���������5.
1� � ��! �� �� 21� � ��! �� �� 2
�������� ����������� �� � (���� %�� ��(� ���������� ����������� �� � (���� %�� ��(� ��
���� ���
%� �� � � ������� �����
���� ������
#� � ����������
#����� � �&�������
��'�������
���� �������
������ "���
����� � � ������� �����
��� ��� #���� �
(� ������
)� *���� �� ���
�����������
������������
����������
����� ���
!��������������
"� �� �����
#����������
$��������
����������
���� ���
%� �� � � ������� �����
���� ������
#� � ����������
#����� � �&�������
��'�������
���� �������
������ "���
����� � � ������� �����
��� ��� #���� �
(� ������
)� *���� �� ���
�����������
������������
����������
����� ���
!��������������
"� �� �����
#����������
$��������
����������
� �!��� ��+������� �� �!��� ��+������� �
'�������� �( ���# �� �'�������� �( ���# �� �
���� �+������������ ����������� ����� �+������������ ����������� �
�++�������� �� )��� ����������� �������++�������� �� )��� ����������� ������
+��*�� ���� ������������ �� � �� � �� ��$+��*�� ���� ������������ �� � �� � �� ��$
��������� �������+ ������� ����,� ����������� �������+ ������� ����,� ��
������� ���������� ���
7�������8 9��+ ���� 89 ,� �����7�������8 9��+ ���� 89 ,� �����
8��� �������8 ��* �� �:�/6; ��8��� �������8 ��* �� �:�/6; ��
� �!��� ���+��� �!��� ���+��
9�� ���� �������� ��#����� ����� �9�� ���� �������� ��#����� ����� �
�� ������������� �� �!��� ����� ���� ������������� �� �!��� ����� ��
��/�#�3���������� 2����#���/�#�3���������� 2����#�
������ ������������ ������
������� ������ � ���������������� ������ � ���������5/
��%�����%�����++�� 3��� �����*���4 ����1��� $�*�3��� �����*���4 ����1��� $�*�
� �����������
���� ����
��/���/� 2����2����
$���-)�� ���� ��/� ��$���-)�� ���� ��/� ��
2����2����
$���-)�� 2�������$���-)�� 2�������
��/���/�
������� ������ � ���������������� ������ � ���������50
3)��(���$������ �� � ���� ���� ���� ��� �%��3)��(���$������ �� � ���� ���� ���� ��� �%��
5�������� 3��� � 6 ��������*5�������� 3��� � 6 ��������*
���� ����
����������
����*���
�������������
���� ����
+�����
��������
���� ���
%� �� � � ������� �����
���� ������
#� � ����������
#����� � �&�������
��'�������
���� �������
������ "���
����� � � ������� �����
��� ��� #���� �
(� ������
)� *���� �� ���
�����������
������������
����������
����� ���
!��������������
"� �� �����
#����������
$��������
����������
� ���!����������� � ���� + ����������� �� ���!����������� � ���� + ����������� �
�� �� �!��� ���+������ ����������� ��� �� �!��� ���+������ ����������� �
� �������� �� �� �� �%��� 1 )�+ �� �������� �� �� �� �%��� 1 )�+ �
������ ���+���� ����!����� ��� �%�<������ ���+���� ����!����� ��� �%�<
$������#$������#
���������� = ������� ����������������� = ������� �������
(��� �� �� �������� �-�(��� �� �� �������� �-�
����������
:������� = ���� ( /��� ����:������� = ���� ( /��� ����
�� ,����� ����/������ ���� ,����� ����/������ ��
�� ���� (��� �� ����� ���� (��� �� ���
������������������������������
=>�� ���������� �����?=>�� ���������� �����?=��� � � + �:�� * �+� ��������� � :�� ��?=��� � � + �:�� * �+� ��������� � :�� ��?
������� ������ � ���������������� ������ � ���������52
3)��(���$������ ���#��! ���� �%����� ���� ��3)��(���$������ ���#��! ���� �%����� ���� ��
5�������� ��%���6 ��������5�������� ��%���6 ��������
���� ����
����������
����*���
�������������
���� ����
+�����
��������
���� ���
%� �� � � ������� �����
���� ������
#� � ����������
#����� � �&�������
��'�������
���� �������
������ "���
����� � � ������� �����
��� ��� #���� �
(� ������
)� *���� �� ���
�����������
������������
����������
����� ���
!��������������
"� �� �����
#����������
$��������
����������
�&@ ���* ����� ���� �������� ��&@ ���* ����� ���� �������� �
������ �� ���+���� ���+���������� �� ���+���� ���+����
=>�� ���������� � ���?=>�� ���������� � ���?=��� � � + �:�� * �+� ��������� � :�� ��?=��� � � + �:�� * �+� ��������� � :�� ��?
���� ������� ������ � ���������������� ������ � ���������
789�::789�::
���� ��%������ ��%��
���*������*���
������� ������ � ���������������� ������ � ���������5A
�� �((� ����� 2 �������%������*���� ���"�� �((� ����� 2 �������%������*���� ���"
��+��� *��!� � 78) �'�� ��� ���� � �������%������*�����+��� *��!� � 78) �'�� ��� ���� � �������%������*���
������� ������ � ���������������� ������ � ����������6
�%����� ������ �������%������*����+��%����� ������ �������%������*����+�
�������'���� �����*��! (�*�� ��������'���� �����*��! (�*�� �
����� ���� �� #�� ��������� ,-�
�� �� ��� ��./ ������� #�� #��
%�� � %�� �
#��0������ 12/ /
,-��������������� / 3
,-��������� 1.
+�������� 12/ 14
���� ��/� $���-��� ��� ����� (������ ���� ,���� ������� ��/� $���-��� ��� ����� (������ ���� ,���� ���
���(����� ���� .����� 3���������� ��$ ����� ����� ������(����� ���� .����� 3���������� ��$ ����� ����� ���
��������� ��, �� �����(������������� ��, �� �����(����
��� ������� ���/ ������� �� �� �/���� ���� �� ��$��� ������� ���/ ������� �� �� �/���� ���� �� ��$
���� ������� ������ � ���������������� ������ � ���������
����
�(�*�����(�*����
3���/(��������� ������������3���/(��������� ������������
>>������ ��:*??��� �������/�������� ����-���@������ ��:*??��� �������/�������� ����-���@
������� ������ � ���������������� ������ � �����������
�� � ����� ���� ��� ���� ��� ���� ��� �� !���"
������- # #
1��,�'��� # #
:���/�� # # # #
���� # # # # # #
:��A�� # # # # # #
3�� # # # #
�������/�� # #
�� �((� ����� �����!� �� ���� �((� ����� �����!� �� ��
�������! � �����!����������*��� �� ��(� ��������! � �����!����������*��� �� ��(� �
������� ������ � ���������������� ������ � ����������.
$$$:�5�==��3,3:���$$$:�5�==��3,3:���