|
知识路径: > 信息系统开发和运行管理知识 > 系统实施基础知识 > 系统测试的目的、类型和方法 >
|
被考次数:1次
被考频率:低频率
总体答错率:18%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
相关知识点:19个
|
|
|
|
从表面上看,测试阶段的目的和其他阶段的目的是相反的,测试之前的所有开发活动都是在积极地构造系统,如软件工程师根据设计文档用一种适当的程序设计语言编写出可以实现某些功能的程序代码,及从事所谓的“建设性”活动。但测试人员却是努力找出软件、系统的错误。事实上,查找错误也就是为了纠正错误。测试阶段发现的错误越多,后期的纠错和维护工作越少。所以它们的目的都是一样的,都是为了开发出高质量、高可靠性的系统。
|
|
|
|
什么是软件测试?测试的目标是什么?《软件测试的艺术》的作者Grenford J.Myers对测试的目标进行了归纳。
|
|
|
|
|
|
总之,测试的目标就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。从上述的目标可以归纳出测试的定义是:“为了发现错误而执行程序的过程”。通俗地说,测试是根据开发各阶段的需求、设计等文档或程序的内部结构,精心设计测试用例(即输入数据和预期的输出结果),并利用该测试用例来运行程序以便发现错误的过程。
|
|
|
信息系统测试应包括软件测试、硬件测试和网络测试。硬件测试、网络测试可以根据具体的性能指标来进行,而信息系统的开发工作主要集中在软件。所以我们所说的测试更多的是指软件测试。
|
|
|
正确认识测试的目标是非常重要的,这关系到人们的心理作用。如果测试的目标是为了证明程序没有错误,在设计测试用例时就会引用一些不易暴露错误的数据;相反,如果测试是为了发现程序中的错误,就会力求设计出容易暴露错误的测试方案。所谓“好”与“坏”、“成功”与“失败”的测试方案,也同样存在着心理学的问题。所以Myers把测试目标定义为“发现错误”、“发现迄今为止尚未发现的错误”、“发现了至今尚未发现的错误”。
|
|
|
|
测试有模块测试、联合测试、验收测试、系统测试4种类型。
|
|
|
|
模块测试是对一个模块进行测试,根据模块的功能说明,检查模块是否有错误。这种测试在各模块编程之后进行。
|
|
|
|
|
.内部数据结构,如初始值是否正确、变量名是否一致、共用数据是否有误
|
|
|
.独立路径,是否存在不正确的计算、不正确的循环及判断控制
|
|
|
.错误处理,预测错误的产生及后处理,看是否和运行一致
|
|
|
.边界条件,对数据大小界限和判断条件的边界进行跟踪运行
|
|
|
|
联合测试即通常所说的联调。联合测试可以发现总体设计中的错误,例如模块界面的问题。接照前面分“版本”的实现方法,这种测试是各个版本实现后完成有关接口的测试。
|
|
|
各个模块单独执行可能无误,但组合起来会相互产生影响,可能会出现意想不到的错误,因此要将整个系统作为一个整体进行联调。联合测试方法有两种,即根据模块结构网由上到下或由下到上进行测试。
|
|
|
.由上到下,设置下层模块为假模块,检查控制流,较早发现错误,而不至于影响到下层模块。但这种方法要制作的假模块太多,而且不能送回真实数据,可能发现不了内在的错误。
|
|
|
.由下到上,先设置上层模块为假模块,测试下层模块执行的正确性,然后逐步向上推广。这种方法方便,设计简单,但要到最后才能窥得全貌,有一定的风险。
|
|
|
较好的方法是将两者结合,高层由上到下,低层由下至上,到中层进行会合。
|
|
|
|
验收测试检验系统说明书的各项功能与性能是否实现和满足要求。
|
|
|
验收测试的方法一般是列出一张清单,左边是需求的功能,右边是发现的错误或缺陷。
|
|
|
常见的验收测试有所谓的α测试和β测试,这两种测试都是由用户进行的。但前者由使用者在应用系统开发所在地与开发者一同进行观察记录,后者由用户在使用环境中独立进行。
|
|
|
|
系统测试是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方。这种测试可以发现系统分析和设计中的错误。如安全测试是测试安全措施是否完善,能不能保证系统不受非法侵入。俗话说“没有不透风的墙”,那么什么才算是安全的呢?即安全的标准是什么?可以这样定义:如果入侵一个系统的代价超过了从系统中获得的利益时,那么这就是一个安全的系统。再例如,压力测试就是测试系统在正常数据数量以及超负荷量(如多个用户同时存取)等情况下是否还能正常地工作。
|
|
|