软件测试学习(白盒)
一、软件缺陷
评判标准
-
软件未达到需求规格说明书中标明的功能
-
软件出现了需求规格说明书指名不会出现错误的地方
-
软件功能超出了需求规格说明书指明的范围
-
软件未达到需求规格说明书虽未指名但应该达到的目标
-
软件测试人员认为软件难以理解,不易使用,各方面没达到预期
二、测试用例
测试用例为特定目的而设计的一组测试输入、执行条件和预期结果的文档
八大要素
主要包括:用例编号、用例标题、测试项目、用例级别、预置条件、测试输入、执行步骤、预期结果。
行李箱
界面测试,
易用性方面,
兼容性方面,
安全测试方面
压力测试方面
新项目,如何开展测试
拿到项目后,先熟悉需求、原型图,了解被测功能和各个功能的业务逻辑;
支持哪些平台,有哪些不同的应用场景,是否需要考虑到稳定性、性能等等。
针对以上需要测试的内容进行大概的测试规划,然后逐个细化去设计测试用例。
整个过程中存在疑问的及时跟开发产品沟通确认。
拿到被测软件后,按照用例执行测试,提交bug, 并有效进行回归测试完成bug跟踪;
测试完毕后,及时汇报测试结果,输出测试报告。
作为一名软件工程师,应该具备什么
硬技能方面,第一计算机知识,包括操作系统,数据库,通讯协议原理,熟悉至少一门编程语言;
第二软件测试知识,包括各种测试理论, 测试方法,测试用例编写,缺陷跟踪流程,软件质量评估等;
第三产品业务分析能力,熟悉所测产品的一些隐藏需求或者功能。
软技能方面,像沟通能力、做事严谨耐心、富有责任心、对被测产品具有怀疑与破坏的精神、另外还要善于自我总结、自我督促。
未来3-5年规划
我之前公司做的项目是金融类业务,比较多的是功能跟接口测试。如果有幸入职咱们公司,
1年内先做好本职工作、积累业务知识; 2- 3年时间希望能完成公司项目的自动化架构,实现自动化测试;
目前我经开始在研究学习Python编程及编写自动化测试脚本;
3- 5年的时间,希望能在技术上面.上升到测试开发,能自己独立开发测试平台及工具,为公司带来更大价值。
三、白盒测试
优缺点
优点:
代码覆盖率高
缺点:
- 覆盖所有代码路径难度大
- 业务功能可能覆盖不全
- 测试开销大
设计方法
静态:
- 桌面检查
- 代码审查
- 代码走查
- 代码扫描工具
动态:
- 逻辑覆盖法
- 语句覆盖
- 判定覆盖
- 条件覆盖
- 判定条件覆盖
- 条件组合覆盖
- 路径覆盖
- 基本路径测试法
二者结合运用
1、逻辑覆盖法:
是通过对程序逻辑结构的遍历,实现程序的覆盖
2、语句覆盖:
设计测试用例,使得程序中的每条语句至少被执行一次
3、判定覆盖
也叫分支覆盖,设计测试用例,使得程序中的每个判断的“真”和“假”都至少被执行一次,即:每个分支都至少执行一次
4、条件覆盖
设计测试用例,使得判定中的每个条件至少有一次取真值,有一次取假值。
条件覆盖比判定覆盖,增加了对判定中所有条件的测试
5、判定条件覆盖
设计测试用例,使得被测程序中的每个判断本身的结果至少满足一次,同时,每个条件的可能值也至少被满足一次。即100%的判定覆盖和100%的条件覆盖的标准
6、条件组合覆盖
设计测试用例,使得被测试程序中的每个判定中条件结果的所有可能组合至少执行一次
7、路径覆盖
设计测试用例,覆盖程序中所有可能的路径
四、总结
- 主要应用与单元测试阶段