教学软件测试之经验解析_第1页
教学软件测试之经验解析_第2页
教学软件测试之经验解析_第3页
教学软件测试之经验解析_第4页
教学软件测试之经验解析_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、教学软件测试之经验解析 珍妮 德雷克摘要软件测试时软件开发周期中的一个重要的、昂贵的部分。超过50%的软件开发的预算是用于测试和验证。这导致了一个问题在计算机科学课程的教学中,我们有多少是用来做测试的呢?在过去的五年里我已经把软件测试与我在北爱荷华州大学的课程进行了整合:(1)在概论计算中引入了测试的概念,(2)在软件工程中有个以2周围周期的测试区,(3)提供一个新的测试科目软件测试。本文阐释了每一科目的益处和经验。此外,作者介绍了她作为一个软件测试人员在罗克韦尔科林斯进行夏季实习的学习经验。软件测试是一个重要的、具有挑战性的,令人兴奋的科目。测试具有高度组织、设计完善、高度正确性的特点。20

2、02年6月,国家标准与技术研究院发布了一项研究纽曼表明,在美国,每年软件故障经济成本估计达到595亿美元。这是美国国内生产总值的0.6%。此外,该报告指出,50%的软件开发成本都花费在测试和验证。在过去的5年,我对我们添加软件测试科目很感兴趣并尝试了多种不同的方法。本文将描述了三个不同的软件测试的教学经验和他们的优缺点。引进计算第一期cs学生软件工程初高级cs学生软件测试高级和研究生的cs学生一、介绍了软件测试的计算过程ada是学生学习序列,选择,和子程序的循环建构,数组,记录、文件和异常处理函数的地方。而概论计算是运用ada算法的一种传统的讲授课程。在新学期,他们完成了13个编程项目。在学期

3、中引进了软件测试的概念。同时还介绍了等价类,边界值,并进行错误猜测技术。有3项编程项目进行了测试练习。学生们也在他们的任务中也开始测试用例和测试结果。优越性学生们测试了自己的工作。每一个教过程序设计课程的启蒙课的人都知道,学生们对程序结果的输出很感兴趣。甚至有时候他们不会去在意结果是什么。不过学生们都懂得,尽管代码已经成功通过了编译器,在测试练习结束以后他们不得不审视输出存在的许多错误。学生们都有一个普遍的想法,就是怎样为程序选择合适的数据。我相信,同学们总有一种直觉就是用边界值来衡量测试结果。在软件工程课中也不了例外,边界值的概念对他们来说已不是一个新的概念。1.2 局限性该测试经验是非常有

4、限的。学生们对软件测试往往都是浅尝辄止。但是,在早期的受教育中,他们能吸收所有关于软件测试的东西。入门的教材对测试没有多大作用,通常由教师来提供课程,案例以及和测试有关的任务。因为每当一个新的概念引入到课程,总会有其他概念被淘汰。课程的时间是有限的。我会将本应该引进其他概念的时间来引进3个测试概念。我相信花这个时间在引进测试概念上是值得的。软件工程中的软件测试我的软件工程课通常会有维持两个星期的软件测试环节。本课程介绍软件开发生命周期模型,分析、设计、测试、团队合作、文件、案例工具、软件质量,软件流程。其中不包括实施,因为在学习软件工程课之前,学生们已经很精通于低级的设计和实现。白盒和黑盒测试

5、的教育。在白盒测试(也称为单元测试或结构试验)我们通过目的代码执行所有的代码代码覆盖率。我们开发一种流图,从图中,确定路径和写测试用例。通过混合条件测试的方法得出结果。同学们都通过做图,寻找路径,编写测试用例、运行测试来进行练习。黑盒测试(也称为功能测试)也引进了等价类和边界值测试的测试。我常常用梅耶和贝泽尔来测试。在系统维护中,学生们使用这些测试技术来寻找突破点。在这个项目中,他们发现程序中的缺点和故障,然后提出了调整和改善措施。最后他们实施他们的建议。目光转向教材和教学软件测试。一般的软件工程的书如记者倾向于描述什么是容易教而不是什么是有用的成功的软件测试。2.2 优越性学生得到一个测试经

6、验。他们创建测试用例,运行测试,做故障报告,得出结论文件。2.3 局限性学生在测试上不会花足够的时间。尽管这是一个测试经验,但是相对于工程的其他部分工程,分析、设计和实现,测试就黯然失色了。学生发现软件开发工具用起来有些困难。在软件工程课程中,学生通常使用case工具。尽管case工具这是一个相当容易使用的工具,但是学生们感觉很难。如果学生要做真正的测试,它们将面临更多的艰难的工具。教师教育在2002年的夏天,我作为一个软件测试人员,在罗克韦尔柯林斯工作。在我们的项目中,我鼓励增加软件测试模块,这个课程在2002年的秋季第一次被提供使用。尽管我曾在行业开发者,但我从来没有做一个测试。我感觉软件

7、测试工作比课本中所描述得要复杂得多。在1980年代,我所在的工厂就有1/3的员工都是测试人员。我很幸运,罗克韦尔允许我当一名测试人员,这样我就可以得到的第一手和复杂的测试问题的有关知识。我曾测试过kc135飞机的一个数字通信套票。研究飞机和地面站之间的数字联系的目的是为了减少驾驶舱船员的广播时间。许多飞机状态报告可以自动进行交流。我从运行试验开始。这些测试都有测试工程师来编写。测试工程师有时候选择写代码来执行测试,有时他们选择手动运行。该方法取决于测试运行的次数。通过运行测试我了解到了应用程序和测试环境的有关问题。这检测环境是相当复杂的。它包括文件:规格、测试的例子文件,和故障报告。这个技术规

8、范要求和测试用例的文件都受配置的控制。软件工程的关键是需求分析,这是我作为一个开发人员所获得的经验。不过作为一名测试人员,需求分析同样重要。功能测试用来验证所编写的代码是否需求。如果没有需求,那么验证就无从谈起。测试人员在测试之前需要准确明白需求是什么。甚至如果没有适当的说明,我们不能为了录入有效数据而编写一个边界值测试。我相信,任何一个写需求分析的人都应该从做一个测试人员开始。当他们不得不根据需求还进行测试的时候,她们就会知道,一个高品质的需求是必须的。规格说明书有时会出现错误。尽管有些规格说明写得很好而且经常被使用,但他们仍然含有的缺点。这些故障主要集中在低水平细节上,但仍有缺点,需要被修

9、改和更正。创建测试用例是一个富有创造性的工作。我们通常都明白我们无法进行详尽的测试。我们没有时间和财力去测试每一个输入值。测试员的工作就是选择一个合理的测试用例来代替需求。这就需要对测试和域有一个很高程度的理解。一个有经验有才能的测试员可以写出能够测试出许多故障的小的测试集。 软件测试的未来目标我希望这个软件测试课程和实验室都能保持持续进行软件工程测试。他们将会看到好的测试用例和工作环境。他们可以在学期末学习创建测试用例。不过在这之间,他们可能得从观察和运行好的测试用例开始。现在的学生都应该学习环境,建立自己的测试用例,最后运行测试。领域知识也是一个问题。他们必须通过仔细的阅读去了解这些问题,而不是仅仅只执行测试用例。 结论软件测试是非常昂贵的。至少需要50%的软件开发的预算,计算机科学项目中,我们通常忽略了软件测试的重要性。我相信,通过老师对学生的教学和学生的不断自主练习重要的软件测试,软件的质量会不断提高。许多学生将软件测试纳入职业规划中。如果他

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论