thug 2019-06-30
功能测试是一个试图发现程序与其外部规格说明之间存在不一
致的过程。外部规格说明是一份从最终用户的角度对程序行为的精确描述。
系统测试并非是测试整个系统或程序功能的过程,因为有了功能测试,这样会显得多余。
系统测试和功能测试的不同
最明显的系统测试类型是判断目标文档提及的每一项能力(或功能,为了避免与功能测试发生混淆而不使用“功能”一词)是否都确实已经实现。
能力测试的过程是逐条语句地检查目标文档,当某条语句定义了一个“要做什么”(例如,“语法应该一致……”、“用户应当可以指定一个空间范围……”等),就判断程序是否满足。
使程序经受大容量数据的检验。
所谓高强度是指在很短的时间间隔内达到的数据或操作的数量峰值。
判断程序对于用户来说是否易用?是否有难以理解的地方。
安全性测试是设计测试用例来突破程序安全检查的过程。举例来说,我们可以设计测试用例来规避操作系统的内存保护机制,破坏数据库管理系统的数据安全机制。
在特定负载和配置环境下程序的响应时间和吞吐率。
类似地,软件偶尔会有存储目标,举例来说,可能描述了程序使用的内存和辅存的容量,以及临时文件或溢出文件的大小。应设计测试用例来证明这些存储目标没有得到满足。
诸如操作系统,数据库管理系统和信息交换系统等软件都支持多种硬件配置,包括不同类型和数量的 I/O 设备和通信线路,或不同的存储容量。通常可能的配置数量非常之大,以至于测试无法面面俱到,但是至少应该使用每一种类型的设备,以最大和最小的配置来测试程序。
再次强调,在针对这些目标测试程序时、测试用例的目的是证明兼容性目标未被满足,转换过程并未生效。
安装程序如果出现故障,会影响用户对软件的成功体验。用户的第一次体验来自于安装软件的过程。
一般规定了每年必须达到的运行小时数。
系统测试的一个目标是证明这些恢复机制不能够正确发挥作用。我们可以故意将程序错误置入某个系统中,判断系统是否可以从中恢复。
可能定义了系统提供的服务辅助功能,包括存储转存程序或诊断程序、调试明显问题的平均时间、维护过程以及内部业务文档的质量等。
到验收测试是将程序与其最初的需求及最终用户当前的需要进行比较的过程。该测试通常是由程序的客户或最终用户来进行。
安装测试的不寻常是由于其目的不是为了发现软件中的错误,而是为了发现在安装过程中出现的错误。
问题:
这个准则需要估计软件可能出现的错误数量
通过检查统计曲线的形状,常常可以决定究竟是继续该阶段的测试,还是结束它并开始下一测试阶段。当某一测试进行到某个阶段时,发现的错误数量还是很大,则该测试不能停止,需要再测试一段时间,直到错误数量下降才能考虑停止测试