系统解决问题的方法:测试
创建完解决方案后,我们需要测试整个系统是否有效。这个过程应该很简单,因为我们只需要将最终产品与我们在分析阶段设定的目标进行比较。有几种方法可以测试系统,你需要了解所有方法以及可能使用的各种数据类型。
在项目早期阶段,你应该考虑如何测试系统以确保其正常运行。你需要了解并能够区分三种主要的测试方法。
将程序源代码视为一个黑盒子,你无法访问它,也不必了解它的工作原理。你只需输入数据,并测试输出是否符合预期。内部工作机制是未知的,它们在一个黑盒子里。黑盒测试的例子是,如果你为一款新的游戏主机游戏担任游戏测试员。你不会参与系统的设计或编码,你所要做的只是输入命令,查看是否能输出想要的结果。
在白盒测试中,你了解构成程序的编码结构。你进行的所有测试都将运行程序中的不同路径,检查是否输出了正确的结果。
干运行是在计算机程序员脑中进行的计算机程序运行,程序员逐行检查源代码,并确定运行时程序会做什么。在理论计算机科学中,干运行是在脑中对算法(有时用伪代码表示)进行运行,计算机科学家逐行检查算法的步骤。在这两种情况下,干运行通常借助于跟踪表。既然我们在这里,不妨多练习一下
练习:干运行测试 完成以下代码的跟踪表 var a <- 5
var b <- 4
var count <- 0
while count < b
a <- a + a
count <- count + 1
end while
答案
完成以下代码的跟踪表 array nums() <- {4,2,5,2,1}
var z <- 4
var high <- nums(0)
while z > 0
if high < nums(z)
high <- nums(z)
end if
z <- z - 1
end while
答案
|
方法 | 源代码可用性 | 标题文本 |
---|---|---|
黑盒 | 否 | 示例 |
白盒 | 可能(需要理解) | 示例 |
干运行 | 是 | 示例 |
练习:测试方法 为以下每个场景命名合适的测试方法
答案 黑盒测试,因为你无法访问程序的内部工作机制
答案 干运行测试,因为你能够访问源代码,这将帮助你找到有问题的编程行 对以下算法进行干运行测试 |
我们可以使用三种类型的测试数据。它们是什么?答案主要在于它们的名称,让我们看一下这个例子,有人创建了一个中学注册系统,允许学生自行注册。我们不想让年龄过小的学生入学,也不想让年龄过大的学生入学。事实上,我们希望招收 11-16 岁的学生。
- 一个典型的学生将是 12、13、14 或 15 岁。
- 一个错误(或错误)年龄的学生将是 45 岁、6 岁或任何不在允许范围内的年龄。
- 一个极端(或边界)年龄的学生刚入学或即将毕业,他们将是 11 岁或 16 岁。
如果你正在测试包含典型、错误和极端数据的数据,请展示这三种数据的测试。有些测试可能只包含典型和错误数据,例如,输入正确密码可能只包含典型值和错误值。有些事情可能只包含典型测试,例如,一个指向下一页的按钮是否起作用,或一个计算是否正确。
示例:电子工艺测试数据 想象以下目标被设定 一名球员在一场比赛中获得的黄牌数量不能超过 2 张 比赛的加时时间不能超过 15 分钟 球队的名称不能超过 20 个字符 |
练习:测试数据 列出以下内容的典型、错误和极端数据
答案 Typical : 5,16,18 错误:21、-7
答案 Typical : 28,56,32 错误:16、86
答案 Typical : GH24 错误:G678
答案 Typical : 12/07/1987 错误:1987 年 9 月 31 日、1987 年 2 月 31 日
答案 典型:棕色、红色、黑色
答案 Typical : 28 错误:n/a
答案 典型:24、500
答案 典型:23 日、16 日 |