黑盒测试例题工厂例题
时间: 2025-01-03 18:30:28 浏览: 19
黑盒测试与工厂模式
在软件开发过程中,黑盒测试关注的是系统的输入和输出行为而不考虑内部结构。对于采用工厂模式的设计,可以基于该模式的特点来设计有效的黑盒测试用例。
设计思路
当应用程序使用工厂模式创建对象实例时,重点在于验证通过不同的参数组合能否正确返回预期类型的对象以及这些对象的行为是否符合规格说明[^2]。
示例题目
假设有一个简单的图形绘制程序,其中定义了一个ShapeFactory
用于生产各种形状的对象(圆形、矩形)。现在要对该工厂类进行黑盒测试:
public class Shape {
public void draw() {}
}
interface ShapeFactory {
Shape create(String type);
}
测试目标
- 验证传入不同类型字符串能成功创建对应的具体形状对象。
- 对于非法或未支持的类型请求应有适当处理方式。
测试数据准备
| 输入 | 输出 | | -- | | "circle" | 返回Circle对象并能够调用draw方法画圆 | | "rectangle"| 返回Rectangle对象并能够调用draw方法画矩形| | "" (空串)| 抛出异常或者返回null, 同时给出提示信息| | null |同上|
实现代码片段
// 假设这是实现的一部分
class ConcreteShapeFactory implements ShapeFactory {
@Override
public Shape create(String type) {
switch(type.toLowerCase()){
case "circle":
return new Circle();
case "rectangle":
return new Rectangle();
default:
throw new IllegalArgumentException("Unknown shape");
}
}
}
执行测试
编写JUnit或其他框架下的自动化测试脚本来执行上述场景,并捕获任何可能发生的错误情况以确保所有路径都被覆盖到。