全程软件测试第一章
1、软件测试-正反思维
1.1、为了做好测试、既要有逆向思维做好深度测试,又要有正向思维做好广度测试,既要有效率 又要有测试工作自身完整的质量。所以我们要将正向思维和逆向思维结合起来、做到效率和质量的平衡。
我近期经历的项目是商业应用软件、其质量目标设置在用户可接受的水平、可降低软件开发成本 加快发布速度 有利扩张市场带来利益,这种就可以强调使用逆向思维 尽快找到大部分的bug。
如银行 国防 外企等关键性软件系统,承受不了系统的任何一次失效,所以强调验证保证非常高的软件测试。
1.2、
动态测试就是等待代码开发出来后、向用户那样通过执行程序操作软件发现问题,这由传统的瀑布模型而决定—即狭义测试。
软件 = 编程+文档+数据结构,所以软件测试也应该包括需求和设计的校验。
动态测试+静态测试,将需求评审、设计评审、代码评审也算入软件测试中,保障整个软件研发周期的质量—即广义测试。
我个人经历的项目是QA参与的阶段:
- 了解需求、参加需求评审、发表意见
- 参加技术评审、包括设计的服务和接口等
- 整理测试范围、测试点、编写测试用例
- 测试用例评审
- 单接口测试
- 功能测试、UI测试、性能、兼容测试、安全测试等测试
- 编写测试报告
- 接口自动化测试
1.3、产品的质量
- 功能适应性
- 效率
- 兼容性
- 易用性
- 可靠性
- 安全性
- 可维护性:当发生改变或错误时,涉及的模块化、可复用性、易分析 易修改 易测试性。
- 可移植性:当系统或环境移植时、涉及适用型、可安装性、可替换性。
1.4、Test Oracal
Test Oracal就是一种决定一项测试是否通过的机制,Test Oracal的使用会要求将被测试系统的实际输出和我们期望的输出进行比较,从而判断是否有差异。期望结果(清晰的需求文档或说明书、竞品、一致性要求、确定性模型)
测试=检测已知的+试验未知的
1.5、批判思维去测试
测试人员怀疑某些地方存在缺陷:
- 开发人员对用户真实的需求错误理解
- 漏掉某些需求
- 错误实现需求和设计
- 没有完整实现需求和设计
- 算法不够优化 存在性能问题
- 数据输入缺乏保护等
总结:
软件测试的四方面作用
- 产品质量评估
- 持续质量反馈
- 客户满意度提升
- 缺陷预防