1)测试组织之设计由于人性总自认为自己的好正确,完全由软件开发人员兼任测试人员,并不值得推荐。实务上往往因软件开发单位的经济规模不够,使得开发人员经常兼任测试人员。但若可行,研发单位应尽可能配置专任的测试人员,尤其是独立于开发小组之外的测试负责人员。尽管是否应设置独立测试小组业界仍有争议,许多人甚至以为保障软件品质唯有从改进软件开发的程序做起,但大部份美国的软件公司均设有独立测试或品保人员乃至于部门,这说明了独立测试仍有其不可摇撼的地位。 许多的软件研发单位将测试视为次等的工作,从而配置次等人员负责相关工作。如此一来,人员无从参与,也缺乏意愿参与测试工作。结果软件品质不易度量,研发的成果常常被不佳的品质抵销,实为令软件开发人员泄气之事。主管是否能体认到软件测试的重要性,通常是成功的关键。软件测试固然是支持性工作,仍应配置合理的资源,以获取整体之成效。在当前的环境下,给予测试人员较多的关注,毋宁是必要的作法。 2)测试工作规划测试工作的规划,至少包含两项要点:测试目标的订定与测试资源的配置。攻击需要目标,测试亦然。测试的目的在于找出软件的问题,提供改进之参考。目标若不明,测试人员即不知如何着手。 测试目标的订定,重要的在于软件通过的准则,亦即测试何时方可结束。常见的情形是:软件开发的进度不断落后,后剩余的时间仅有两个星期,于是测试人员的目标是把后两周用完,尽人事听天命。究竟测试多完整,隐藏的多少错误,测试工作的生产力如何?皆一概不知。反正产品卖出去或上线后有的是时间改进。然而产品销售后再改进,成本往往大幅增高,甚至原有开发人员离职他调, 连亡羊补牢都倍感困难。经验一再显示,事前的测试除错比事后维护省时省钱,唯有卖不出去或不能用的软件例外。
对于测试的要求可简单区分为二:一种是通过目标所订之软件品质;一种是在既定资源内达到佳成效。前者要求山头一定要攻下,不达目的绝不停止。譬如目标为单位测试时间的错误发现率须低于某数字,若超过了得延长测试。此种方式适用于品质要求较高的软件。至于后者则是上市时间已宣布,无法更改者,其目标着重于铲除严重的错误。此种测试较着重测试的准备、经常对测试执行与除错设定时限与数量要求,其中容易遵循的准则即为:重要功能永远先测。这两类测试的需求不同,足以影响到测试的计划、测试的顺序与关心的重点。读者不可不察。 至于测试资源配置适当性,则是评估测试目标能否达成的重要参考指标。测试人员需要合理的测试资源,譬如要求总研发人力的20%以上。总时程的1/3以上。人力不足,测试流于形式,时程过短,找到错误也来不及除错,均不可取。除了测试在研发的比重,也需注意测试工作本身在规画管理、规格个案订定、测试执行、回归测试、训练准备工作的人力分配。人员的训练与设备的安排尤其容易轻忽,需加以注意。不同阶段测试的资源配置,也必须加以考量,如此可避免测试集中于功能测试,忽略系统测试。这些工作的适切安排,有助于协助测试工作时时都执行重要,也有效的测试。