题设:给定一个带通配符问号的数W,问号可以代表任意一个一位数字。再给定一个整数X,和W具有同样的长度。问有多少个整数符合W的形式并且比X大?其中输入格式:为多组数据,每组数据两行,第一行输入W,第二行输入X,它们长度相同,且在[1..10]之间。输出格式:每行一个整数表示结果。
测试如此需求描述,如何思考?如何分析?如何设计?如何测试?
测试过程的PDCA如何实现?测试个人能力的PDCA曲线如何完成?
以小见大,浅析软件测试过程。
需求描述是什么?
把复杂的问题简单化:比较两个数的大小。
用自己的语言描述问题:
1、输入多组W、X数据,第组数据两行,第一行W,第二行X
2、W、X两个位数相同(10位以内)的整数
3、W带有通配符:?
4、输出W>X的个数,每行一个整数结果
有问题吗?
1、W中的通配符“?”个数有限制吗?
2、控制台的命令行行式实现?还是图形化界面?
3、……(更多的问题)
测试过程实现
测试分析
1、核心问题是什么?
比较输入数据的大小 -- 如何将复杂的问题简单化?如何抓住对象问题的核心?
2、开发实现猜想(构建自己的原型)
1)命令行:输入数据-->逻辑处理-->输出结果
2)图形化:界面设计-->输入数据-->逻辑处理-->输出结果
3)逻辑处理:按位比较大小并判断个数?
4)面向过程?面向对像?
3、哪里会出错?
1)数据与数据交互模块:输入、输出(可以统通为接口:内部或外部)
2)数据逻辑处理模块
4、为什么会出错?
1)数据格式处理异常
2)核心逻辑处理缺陷
5、会出什么样的问题
1)直接问题:输出结果不正确
2)间接问题:问题处理的效率
6、测试分析输出
1)需求核心描述
2)需求限定条件
3)假想问题列表
测试设计
1、测试的优先级
1)核心逻辑处理
2)处理过程限定
3)最终实现形式
2、逻辑处理(测试假想)
1)判断W输入的正确性、有效性 -- 1
2)判断X输入的正确性、有效性 -- 1
3)比较W和X:>、=、<(大于、等于、小于)-- 2
4)输出最终结果
3、测试方法
1)黑盒测试:输入数据,查看结果
2)白盒测试:核心逻辑,处理效率
3)灰盒测试:经常用到的,集成了白盒与黑盒测试的特点,增加测试覆盖率,提高测试效率和效果
4、测试数据描述
方法:等价类、边界值......
| 全是数字 | 全是“?” | 不全为“?” | 第1位 | 数字 、?、其它字符组合 | 数字取值范围 | 0~9999999999 | |||
| 第1位是? | 第1位不是? | 0 | 非0 | 每位取值范围 | 0~9 | ||||
W | N/A | y | y | y | N/A | y | N/A | |||
X | y | N/A | N/A | N/A | N/A | y | N/A | |||
y:适用;N/A不适用 |
5、完善测试设计(测试设计评审过程)
1)发现差异:开发者与实现者的沟通,发现理想与现实的差异
2)充实设计:发现差异,充实测试设计,弥补测试设计缺陷
6、测试设计输出
1)测试计划:明确描述测试实现的6W1H
2)测试用例
测试实现
1、测试执行
1)执行测试设计输出,记录测试过程
2)提交问题、跟踪问题、验证问题修改
3)验证并实现测试目标
2、测试总结与回顾
1)需求分析理解
2)测试设计盲点
3)测试效果满意度:测试目标达成度、干系人满意度
软件测试需要不断的实践、总结、思考。
软件测试是门艺术,是个过程,是门科学。
注:1、PDCA:
1)P (plan) 计划,确认方针和目标,制定方法和规则。
2)D (Do) 执行,根据计划,执行计划,实现计划目标。
3)C (check) 检查,分析和总结计划执行的结果,确认效果,发现问题,明析问题。
4)A (action) 处理,问题的改进与处理,标准化先进成果,更正和改进不足,提出下轮PDCA循环。
2、6W1H:
1)Who—责任人?
2)For whom—干系人?(关键人、合作者)
3)Why—对像的详尽描述?(需求的分析、理解)
4)What—目标是什么?(时间、成本、范围、质量)
5)Where—从哪里来到哪里去,环境如何?
6)When—关键时间限制?(关键节点时间计划)
7)How—如何设计、执行、实现?(过程计划,问题和风险)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。