文档详情

《外文翻译1.doc

发布:2017-01-12约3.21千字共6页下载文档
文本预览下载声明
教学软件测试之经验解析 珍妮 德雷克 摘要 软件测试时软件开发周期中的一个重要的、昂贵的部分。超过50%的软件开发的预算是用于测试和验证。这导致了一个问题—在计算机科学课程的教学中,我们有多少是用来做测试的呢?在过去的五年里我已经把软件测试与我 在北爱荷华州大学的课程进行了整合:(1)在概论计算中引入了测试的概念,(2)在软件工程中有个以2周围周期的测试区,(3)提供一个新的测试科目—软件测试。本文阐释了每一科目的益处和经验。此外,作者介绍了她作为一个软件测试人员在罗克韦尔·科林斯进行夏季实习的学习经验。 软件测试是一个重要的、具有挑战性的,令人兴奋的科目。测试具有高度组织、设计完善、高度正确性的特点。 2002年6月,国家标准与技术研究院发布了一项研究 [纽曼]表明,在美国,每年软件故障经济成本估计达到595亿美元 。这是美国国内生产总值的0.6%。此外,该报告指出,50%的软件 开发成本都花费在测试和验证。在过去的5年,我对我们添加软件测试科目很感兴趣并尝试了多种不同的方法。本文将描述了三个不同的 软件测试的教学经验和他们的优缺点。 引进计算——第一期CS学生 软件工程——初高级CS学生 软件测试——高级和研究生的CS学生 一、介绍了软件测试的计算过程 Ada是学生学习序列,选择,和子程序的循环建构,数组, 记录、文件和异常处理函数的地方。而概论计算是运用Ada算法的一种传统的讲授课程。在新学期,他们完成了13个编程项目。在学期中引进了软件测试的概念。同时还介绍了等价类,边界值,并进行错误猜测技术。有3项编程项目进行了测试练习。学生们也在他们的任务中也开始测试用例和测试结果。 优越性 学生们测试了自己的工作。每一个教过程序设计课程的启蒙课的人都知道,学生们对程序结果的输出很感兴趣。甚至有时候他们不会去在意结果是什么。不过学生们都懂得,尽管代码已经成功通过了编译器,在测试练习结束以后他们不得不审视输出存在的许多错误。学生们都有一个普遍的想法,就是怎样为程序选择合适的数据。我相信,同学们总有一种直觉就是用边界值来衡量测试结果。在软件工程课中也不了例外,边界值的概念对他们来说已不是一个新的概念。 1.2 局限性 该测试经验是非常有限的。学生们对软件测试往往都是浅尝辄止。但是,在早期的受教育中,他们能吸收所有关于软件测试的东西。入门的教材对测试没有多大作用,通常由教师来提供课程,案例以及和测试有关的任务。因为每当一个新的概念引入到课程,总会有其他概念被淘汰。课程的时间是有限的。我会将本应该引进其他概念的时间来引进3个测试概念。我相信花这个时间在引进测试概念上是值得的。 软件工程中的软件测试 我的软件工程课通常会有维持两个星期的软件测试环节。本课程介绍软件开发生命周期模型,分析、设计、测试、团队合作、文件、案例工具、软件质量,软件流程。 其中不包括实施,因为在学习软件工程课之前,学生们已经很精通于低级的设计和实现。 白盒和黑盒测试的教育。在白盒测试(也称为单元测试或结构试验)我们通过目的代码执行所有的代码——代码覆盖率。我们开发一种流图,从图中,确定路径和写测试用例。通过混合条件测试的方法得出结果。同学们都通过做图,寻找路径,编写测试用例、运行测试来进行练习。 黑盒测试(也称为功能测试)也引进了等价类和边界值测试的测试。我常常用[梅耶]和[贝泽尔]来测试。在系统维护中,学生们使用这些测试技术来寻找突破点。在这个项目中,他们发现程序中的缺点和故障,然后提出了调整和改善措施。最后他们实施他们的建议。 目光转向教材和教学软件测试。一般的软件工程的书如[记者]倾向于描述什么是容易教而不是什么是有用的成功的软件测试。 2.2 优越性 学生得到一个测试经验。他们创建测试用例,运行测试,做故障报告,得出结论文件。 2.3 局限性 学生在测试上不会花足够的时间。尽管这是一个测试经验,但是相对于工程的其他部分——工程,分析、设计和实现,测试就黯然失色了。学生发现软件开发工具用起来有些困难。在软件工程课程中,学生通常使用CASE工具。尽管CASE工具这是一个相当容易使用的工具,但是学生们感觉很难。如果学生要做真正的测试,它们将面临更多的艰难的工具。 教师教育 在2002年的夏天,我作为一个软件测试人员,在罗克韦尔柯林斯工作。在我们的项目中,我鼓励增加软件测试模块,这个课程在2002年的秋季第一次被提供使用。尽管我曾在行业 开发者,但我从来没有做一个测试。我感觉软件测试工作比课本中所描述得要复杂得多。在1980年代,我所在的工厂就有1/3的员工都是测试人员。我很幸运,罗克韦尔允许我当一名测试人员,这样我就可以得到的第一手和复杂的测试问题的
显示全部
相似文档