黑盒测试用例设计——PICT(QQ实践)
以QQ的状态设置来做一次实践。QQ用户可以对如下的状态方面的设置。后两张图是登录后的状态的可选项和鼠标键盘无动作后将状态切换至的可选项。默认的自动回复有三种,默认的快捷回复有四种。对于自动回复和快捷回复,用户都可以做增、删、改。

登录状态: 我在线上, Q我吧, 离开, 忙碌, 请勿打扰, 隐身
运行全屏程序时切换至忙碌: 真, 假
[备注1] :“鼠标键盘无动作”其实包含了两个设置,一是是否被选中,二是时间设置,所以需要分成两个参数来处理。这样,加上原有的两个子项“将状态切换至”和“自动锁定”,“鼠标键盘无动作”就有三个子项。
[备注2]:在“鼠标键盘无动作”没有被选中时,它的三个子项的设置没有意义,所以增加了“忽略”来对应这种情况。
[备注3]:“无动作时间”有60个可选项:1-60分钟。不需要测试每一个时间点,这里选择了4个值做代表。
鼠标键盘无动作: 真, 假
无动作时间: 1, 5, 30, 60, 忽略
将状态切换至: 离开, 忙碌, 忽略
自动锁定: 真, 忽略
[备注4] :在“自动回复”没有被选中时,关于“自动回复内容”的设置没有意义,所以增加可选项“忽略”来对应这种情况。
[备注5]:用户可以对“自动回复内容”和“快捷回复”的内容做增删改,这里仅用默认设置。
自动回复: 真, 假
自动回复内容: 回复1, 回复2, 回复3,忽略
快捷回复: 快捷回复1, 快捷回复2, 快捷回复3, 快捷回复4
[备注6] :如果“鼠标键盘无动作”被选中,则它的三个子项不能为“忽略”
IF [鼠标键盘无动作] = "真"
THEN ([将状态切换至] IN {"离开", "忙碌"}) OR [自动锁定] = "真";
IF [鼠标键盘无动作] = "真"
THEN [无动作时间] NOT IN {"忽略"};
[备注7] :如果“鼠标键盘无动作”没有被选中,则它的三个子项只能为“忽略”。
IF [鼠标键盘无动作] = "假"
THEN ([将状态切换至] = "忽略") AND ([自动锁定] = "忽略") AND ([无动作时间] = "忽略");
[备注8] :两个子项是互相排斥的。当选中其中一个后,另一个只能为“忽略”。
IF ([将状态切换至] IN {"离开", "忙碌"})
THEN [自动锁定] = "忽略";
IF [自动锁定] = "真"
THEN [将状态切换至] = " 忽略 ";
[备注9] :在“自动回复”没有被选中的时候,它的内容设置只能是“忽略”。
IF [自动回复] = "假"
THEN [自动回复内容] = "忽略";
[备注10]:如果“自动回复“被选中,则”自动回复内容“不能为“忽略”。
IF [自动回复] = "真"
THEN [自动回复内容] NOT IN {"忽略"};
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!