发信人: crazycode()
整理人: leitiger(2002-06-11 11:25:11), 站内信件
|
软件测试
软件测试在现代的软件开发中日益显示出其重要性,所花费的费用也越来越高。
测试按照典型的软件工程理论划分,分为单元测试、集成测试、系统测试等,此 外从其他角度还可以分成白盒测试、黑盒测试。软件测试工作往往分布于整个开 发周期中,测试的级别从函数事件测试到对象测试到系统测试。
编码过程中,编写一个函数、事件,一个对象的时候,需要开发驱动模块及桩模 块,测试方法一般采用白盒测试方法即分析程序路径(事件、函数、分支)、条 件(判断),尽可能的遍历程序,引发错误。采用的方法有等价量划分、边界值 等,将代码中的所有路径包括合理合法的与非法的都走一遍,测试的过程中会发 现某些路径无法到达,此时可能是代码位置错误或代码本身有错误,修改完毕后 ,回归再测;可能还会发生很多的意外,如用户突然点击某个按纽或用户未按照 程序员设想的路径回答“YES/NO”,这些例外情况我们也应该考虑入内加以处理 ,使程序更健壮。编码工作完成,单元测试也已经完成。现在可以开始集成测试 了,将开发小组内的各个模块联合运行,检查整体能否正常运转,但前提是单元 测试一定要通过,千万不能在单元测试未通过的情况下联调,否则不仅工作效率 不高,而且可能引发其它问题。联调的过程中往往发现的问题是接口、约定、惯 例没协调好,各个开发人员应商量清楚,如何处理,加以纠正,再联调,如此反 复,直到联调通过。
为了在给用户交付安装过程中不致发生意外情况,一般还会模拟用户环境,进行 系统测试,如需要远程通信,远程数据处理等。经过系统测试会发现很多想不到 的问题,如线路速度、网络带宽、用户环境等。因此该测试还是十分有必要的特 别是需要大规模分发出去的软件及用户环境复杂的系统。
集成测试与系统测试都需要制定测试计划,书写测试用例,测试工作完成后还应 该有测试报告。测试计划规定了进度、资源安排,而测试用例则定义了测试数据 等,测试用例一般包括用例名称、用例目的,测试方法,期待输入、期待输出、 实际输出等,实际输出可以在具体测试工作进行的时候填写,其他项目可预先完 成。测试完成后,针对错误类型、数量写出总结报告——测试报告,要分析出错 误规律、原因、解决方法,并反馈给开发部门以提高代码质量。测试用例都需要 留存,供回归测试等使用。为了方便测试,可以制定一些CheckList,对照它检查 问题,项目可多可少,但需要注意可操作性及确定性。
下面谈谈测试过程中CASE工具的使用。PB本身的Debuger功能是非常强大的,可以 完成断点、单行跟踪、变量观察等功能,用Debuger观察路径,观察变量变化,程 序员在单元测试过程中使用的最多的恐怕是它了。在测试数据库的过程中,我们 可以使用Trace功能,即在事物对象如SQLCA的DbName属性中的实际名称前加“Tr ace”即可,系统会生成一个SQL语句记录文件,对于我们分析数据处理过程有很 大好处。测试数据的生成使用手工方法往往效率不高,在需要大量数据的情况下 更不可行,比如强度测试,可以使用一些测试数据生成工具,这些工具可以快速 灵活的生成数据。另外测试过程中的测试结果可以用专门的BugReport工具管理, 记录跟踪错误,防止遗漏问题。
软件测试对于提高开发人员水平特别是刚入门的开发人员水平有很大作用,通过 测试工作可以学习他人的代码风格、界面风格、软件风格,通过测试可以学习他 人的技巧,可以锻炼耐心。
-- IF 回复 THEN
请选中'将本文章寄一份给原作者', 多谢!
END IF
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.124.200]
|
|