信息系统项目管理师_2024年软考学习应考交流_信息系统项目管理师考试

 找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 1368|回复: 1
打印 上一主题 下一主题

[转帖]Proposed Software Evaluation & Test KPA - Bender & Associates

[复制链接]

该用户从未签到

升级  30.8%

跳转到指定楼层
楼主
发表于 2006-4-2 08:49:45 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><b style="mso-bidi-font-weight: normal;"><span lang="EN-US"><font size="3"><font face="Times New Roman">KPA REVIEW GROUP<p></p></font></font></span></b></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">The following have been gracious enough to be reviewers of this proposed Testing KPA.<span style="mso-spacerun: yes;">&nbsp; </span>I want to thank them for their insights and contributions.<span style="mso-spacerun: yes;">&nbsp; </span>However, any problems or omissions the reader may find with this document I take full responsibility for.<span style="mso-spacerun: yes;">&nbsp; </span>This is very much a work in progress.<span style="mso-spacerun: yes;">&nbsp; </span>lease feel free to contact me with suggestions for improving it.</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">Boris Beizer - Independent testing consultant</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">Greg Daich - STSC</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">Dave Gelperin - SQE</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">Bill Hetzel - SQE</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">Capers Jones - SPR</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">John Musa - ATT</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">William Perry - QAI</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">Robert Poston - IDE</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">The original version of the Evaluation and Testing KPA was sponsored by Xerox Corporation.<span style="mso-spacerun: yes;">&nbsp; </span>They have graciously allowed us to distribute it to the software community.<span style="mso-spacerun: yes;">&nbsp; </span>The key contact is:</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">David Egerton</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">800 Phillips Road</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">Building 129</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">Webster, NY 14580</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">(716) 422-8822</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3"></font></span>&nbsp;</p><span lang="EN-US"><h1 style="MARGIN: 12pt 0cm 3pt; TEXT-INDENT: 0cm;"><a name="_Toc353863396"></a><a name="_Toc341669239"></a><a name="_Toc340226053"></a><a name="_Toc339184244"></a><a name="_Toc338414792"><span style="mso-bookmark: _Toc339184244;"><span style="mso-bookmark: _Toc340226053;"><span style="mso-bookmark: _Toc341669239;"><span style="mso-bookmark: _Toc353863396;"><font face="Times New Roman"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman';"><span style="mso-list: Ignore;"><font size="5">1.</font><span style="FONT: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US"><font size="5">INTRODUCTION</font></span></font></span></span></span></span></a></h1><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">The objective of this document is to present a proposal that Evaluation and Test become a Key Process Area (KPA) in the SEI Capability Maturity Model (CMM). The first section addresses the scope of what is meant by evaluation and test.<span style="mso-spacerun: yes;">&nbsp; </span>The second section identifies the justifications for making this a separate KPA.<span style="mso-spacerun: yes;">&nbsp; </span>The third section presents the proposed KPA definition including: definition, goals, commitment to perform, activities performed, measurements and analysis, and verifying implementation.<span style="mso-spacerun: yes;">&nbsp; </span>The final section addresses integrating this KPA with the existing KPA’s.<span style="mso-spacerun: yes;">&nbsp; </span>This includes identifying which level to assign it to and some repackaging suggestions for existing KPA’s.</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3"></font></span>&nbsp;</p><span lang="EN-US"><h1 style="MARGIN: 12pt 0cm 3pt; TEXT-INDENT: 0cm;"><a name="_Toc353863397"></a><a name="_Toc341669240"></a><a name="_Toc340226054"></a><a name="_Toc339184245"></a><a name="_Toc338414793"><span style="mso-bookmark: _Toc339184245;"><span style="mso-bookmark: _Toc340226054;"><span style="mso-bookmark: _Toc341669240;"><span style="mso-bookmark: _Toc353863397;"><font face="Times New Roman"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman';"><span style="mso-list: Ignore;"><font size="5">1.</font><span style="FONT: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US"><font size="5">DEFINING EVALUATION AND TEST</font></span></font></span></span></span></span></a></h1><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">Evaluation is the activity of verifying the various system specifications and models produced during the software development process.<span style="mso-spacerun: yes;">&nbsp; </span>Testing is the machine based activity of executing and validating tests against the code.<span style="mso-spacerun: yes;">&nbsp; </span>Most software organizations define evaluation and test very narrowly.<span style="mso-spacerun: yes;">&nbsp; </span>They use it to refer to just the activities of executing physical test cases against the code.<span style="mso-spacerun: yes;">&nbsp; </span>In fact, many companies do not even assign testers to a project until coding is well under way.<span style="mso-spacerun: yes;">&nbsp; </span>They further narrow the scope of this activity to just function testing and maybe performance testing.</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">This view is underscored in the description of evaluation and test in the current CMM.<span style="mso-spacerun: yes;">&nbsp; </span>It is part of the Software Product Engineering KPA.<span style="mso-spacerun: yes;">&nbsp; </span>The activities in this KPA, activities 5, 6, and 7, only use code based testing for examples and only explicitly mention function testing.<span style="mso-spacerun: yes;">&nbsp; </span>Other types of testing are euphemistically referenced by the phrase “...ensure the software satisfies the software requirements”.</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">eople who build skyscrapers, on the other hand, thoroughly integrate evaluation and test into the development process long before the first brick is laid.<span style="mso-spacerun: yes;">&nbsp; </span>Evaluations are done via models to verify such things as stability, water pressure, lighting layouts, power requirements, etc.<span style="mso-spacerun: yes;">&nbsp; </span>The software evaluation and test approach used by many organizations is equivalent to an architect waiting until a building is built before testing it and then only testing it to ensure that the plumbing and lighting work.</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">The CMM further compounds the limited view of evaluation and test by making a particular evaluation technique, peer reviews, its own KPA.<span style="mso-spacerun: yes;">&nbsp; </span>This implies that prior to the delivery of code the only evaluation going on is via peer reviews and that this is sufficient.<span style="mso-spacerun: yes;">&nbsp; </span>The steps in the evaluation and test of something are: define the completion/success criteria, design cases to cover this criteria, build the cases, perform/execute the cases, verify the results, and verify that everything has been covered.<span style="mso-spacerun: yes;">&nbsp; </span>eer reviews provide a means of <i style="mso-bidi-font-style: normal;">executing</i> a paper based test.<span style="mso-spacerun: yes;">&nbsp; </span>They do not inherently provide the success criteria nor do they provide any formal means for defining the cases, if any, to be used in the peer review.<span style="mso-spacerun: yes;">&nbsp; </span>They are also fundamentally subjective.<span style="mso-spacerun: yes;">&nbsp; </span>Therefore, the same misconceptions that lead a programmer to introduce a defect into the product may cause them to miss the defect in the peer review.</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">A robust scope for evaluation and test must encompass every project deliverable at each phase in the development life cycle.<span style="mso-spacerun: yes;">&nbsp; </span>It also address each desired characteristic of each deliverable.<span style="mso-spacerun: yes;">&nbsp; </span>It must address each of the evaluation/testing steps.<span style="mso-spacerun: yes;">&nbsp; </span>Let’s look at two examples: evaluating requirements and evaluating a design.</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">A requirements document should be complete, consistent, correct, and unambiguous.<span style="mso-spacerun: yes;">&nbsp; </span>One step is to validate the requirements against the project/product objectives (i.e., the statement of “why” the project is being done).<span style="mso-spacerun: yes;">&nbsp; </span>This ensures that the right set of functions are being defined.<span style="mso-spacerun: yes;">&nbsp; </span>Another evaluation is to walk use-case scenarios through the functional rules, preferably aided by screen prototypes if appropriate.<span style="mso-spacerun: yes;">&nbsp; </span>A third evaluation is a peer review of the document by domain experts.<span style="mso-spacerun: yes;">&nbsp; </span>A fourth is to do a formal ambiguity review by non-domain experts.<span style="mso-spacerun: yes;">&nbsp; </span>(They cannot read into the document assumed functional knowledge.<span style="mso-spacerun: yes;">&nbsp; </span>It helps ensure that the rules are defined explicitly, not implicitly.)<span style="mso-spacerun: yes;">&nbsp; </span>A fifth evaluation is to translate the requirements into a Boolean graph.<span style="mso-spacerun: yes;">&nbsp; </span>This identifies issues concerning the precedence relationships between the rules as well as missing cases.<span style="mso-spacerun: yes;">&nbsp; </span>A sixth is a logical consistency check with the aid of CASE tools.<span style="mso-spacerun: yes;">&nbsp; </span>A seventh is the review, by domain experts, of the test scripts derived from the requirements.<span style="mso-spacerun: yes;">&nbsp; </span>This “bite-size” review of the rules often uncovers functional defects missed in reviewing the requirements as a whole.</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">Evaluating a design can also take a number of tacks.<span style="mso-spacerun: yes;">&nbsp; </span>One is walking tests derived from the requirements through the design documents.<span style="mso-spacerun: yes;">&nbsp; </span>Another is building a model to verify design integrity (e.g., a model built of the resource allocation scheme for an operating system to ensure that deadlock never occurs).<span style="mso-spacerun: yes;">&nbsp; </span>A third is building a model to verify performance characteristics.<span style="mso-spacerun: yes;">&nbsp; </span>A fourth is comparing the proposed design against existing systems at other companies to ensure that the expected transaction volumes and data volumes can be handled via the configuration proposed in the design.</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">Only some of the above evaluations were executed via peer reviews.<span style="mso-spacerun: yes;">&nbsp; </span>None of the above<span style="mso-spacerun: yes;">&nbsp; </span>were code based.<span style="mso-spacerun: yes;">&nbsp; </span>Neither of the above examples of evaluation was exhaustive.<span style="mso-spacerun: yes;">&nbsp; </span>There are other evaluations of requirements and designs that can be applied as necessary.<span style="mso-spacerun: yes;">&nbsp; </span>The key point is that a deliverable has been produced (e.g., a requirements document); before we can say it is now complete and ready for use in the next development step we need to evaluate it for the desired/expected characteristics.<span style="mso-spacerun: yes;">&nbsp; </span>Doing this requires more sophistication than just doing peer reviews.</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">That is the essence of evaluation and test.<span style="mso-spacerun: yes;">&nbsp; </span>A pre-defined set of<span style="mso-spacerun: yes;">&nbsp; </span>characteristics, defined as explicitly as possible, is validated against a deliverable.<span style="mso-spacerun: yes;">&nbsp; </span>For example, when you were in school and took a math test the instructor compared your answers to the expected answers.<span style="mso-spacerun: yes;">&nbsp; </span>The instructor did not just say they look reasonable or they’re close enough.<span style="mso-spacerun: yes;">&nbsp; </span>The answer was supposed to be 9.87652.<span style="mso-spacerun: yes;">&nbsp; </span>Either it was or it was not.<span style="mso-spacerun: yes;">&nbsp; </span>Also, the instructor did not wait until the end of the semester to review papers handed in early in the course.<span style="mso-spacerun: yes;">&nbsp; </span>They were tested as they were produced.<span style="mso-spacerun: yes;">&nbsp; </span>With the stakes so much higher in software development, can we be any less rigorous and timely?</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">Among the items which should be evaluated and tested are Requirements Specifications, Design Specifications, Data Conversion Specifications and Data Conversion code, Training Specifications and Training Materials, Hardware/Software Installation Specifications, Facilities Installation Specifications, Problem Management Support System Specifications, Product Distribution Support System Specifications, User Manuals, and the application code.<span style="mso-spacerun: yes;">&nbsp; </span>Again this is not a complete list.<span style="mso-spacerun: yes;">&nbsp; </span>The issue is that every deliverable called for in your project life cycle must be tested.</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">The evaluation and test of a given deliverable may span multiple phases of the project life cycle.<span style="mso-spacerun: yes;">&nbsp; </span>More and more software organizations are moving away from the waterfall model of the life cycle to an iterative approach.<span style="mso-spacerun: yes;">&nbsp; </span>For example, a Design Specification might be produced via three iterations.<span style="mso-spacerun: yes;">&nbsp; </span>The first iteration defines the architecture - is it manual or automated, is it centralized or distributed, is it on-line or batch, is it flat files or a relational data base, etc.<span style="mso-spacerun: yes;">&nbsp; </span>The second iteration might push the design down to identifying all of the modules and the inter-module data path mechanisms.<span style="mso-spacerun: yes;">&nbsp; </span>The third iteration might define the intra-module pseudo-code.<span style="mso-spacerun: yes;">&nbsp; </span>Each of these iterations would be evaluated for the appropriate characteristics.</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">The types of evaluation and test must be robust.<span style="mso-spacerun: yes;">&nbsp; </span>This includes, but is not limited to, verifying functionality, performance, reliability-availability-serviceability, usability, portability, maintainability, and extendibility.</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><p><font face="Times New Roman" size="3">&nbsp;</font></p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman" size="3">In summary, each deliverable at each phase in its development should be evaluated/tested for the appropriate characteristics via formal, disciplined techniques.</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;">&nbsp;</p></span>&nbsp;<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;">&nbsp;</p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;">&nbsp;</p></span>&nbsp;
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 顶 踩

该用户从未签到

升级  30.8%

沙发
 楼主| 发表于 2006-4-2 08:50:26 | 只看该作者
全文阅读请打开附件: nKyNc8RA.doc (88.5 KB, 下载次数: 11) <br/>
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

小黑屋|手机版|Archiver|信息系统项目管理师_软考交流平台. ( 鄂ICP备11002878号-1  公安备案号:42011102001150

GMT+8, 2025-7-7 21:31

Software by Discuz! X3.2

© 2001-2013 SKIN BY DSVUE

快速回复 返回顶部 返回列表