1. 白盒测试技术:两种方法,一种是逻辑覆盖,另一种是路径测试。
2. 白盒测试覆盖的准则(由弱到强):语句覆盖、判定逻辑覆盖、条件覆盖、判断逻辑条件覆盖、条件组合覆盖、路径覆盖。
判定逻辑覆盖就是要求每个分支都至少被执行一次。
语句覆盖:选择足够的测试用例,使程序中的每条语句至少执行一次。
3. 自底向上集成需要测试员编写驱动程序。
项目立项前测试人员不需要提交任何工件。
4. 代码走查:只检查代码中是否有错误。一般是研发需要对自己的代码审核, 检查代码的正确性
单元测试:对软件中的最小可测试单元进行检查和验证
5. 如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的判定覆盖。
6. 软件测试主要包括单元测试、集成测试、系统测试、确认测试。可能包括:恢复测试、压力测试、回归测试、验收测试。
单元测试依靠的是详细设计文档。继承测试依靠的是概括设计文档。系统测试依靠的是系统设计文档。
确认测试以软件系统作为基本测试单元。
7. 回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
8. 验收测试分为正式验收测试和非正式验收测试。非正式验收测试包括alpha测试(由用户、测试人员、开发人员共同参与的内部测试)和beta测试(内测后的公测,即完全交给最终用户测试)。
9.灰盒测试,也称作灰盒分析,是基于对程序内部细节有限认知上的软件调试方法。灰盒测试与黑盒测试相比,更关心模块与模块之间的交互。
10. 在软件开发中,我们经常使用测试用例对程序进行检查,一次成功的测试是指运行测试用例后发现了程序错误。
11. 在测试计划阶段需要根据SOW完成测试进度的制定。
SOW:statement of work 工作任务说明书
HLD:High Level Design 概要设计说明书
LLD: Low Level Design 详细设计说明书
UTC: Unit Testing Cases 单元测试用例
12.黑盒测试的方法:等价类划分、边界值法、因果图、判定表、正交实验设计法、错误推测。
既可以用于黑盒测试,也可用于白盒测试的方法是边界值法。
13. 软件测试工具的目的包括:帮助测试寻找问题、协助问题的诊断、节省测试时间。
14. 软件调式技术:试探法(强行排错法)、回溯法、对分查找法、贵南演绎、原因排除法。
15. 软件测试是为了发现错误而执行程序的过程。
软件测试用例包括;输入数据和预期输出结果。
16. 自动化测试的先决条件:产品需求变更较少、项目周期长、测试用例执行频繁、人工无法胜任,有充足的人力物力。
自动化测试不一定适合所有的测试:比如UI是否美观
自动化测试可以降低工作量:在项目比较大的情况下,花费一些时间来写脚本,用脚本来测试项目,在一定程度上也是可以减少工作量的,但不能说是大幅度。
自动化测试不一定比人工测试更能保障系统的可靠性:感知方面,人工测试为主导
自动化测试不能完全覆盖到所有的测试类型:易用性,探索性,复杂性低,不能快速返回结果的测试。
17. 压力测试可以理解为时找到一个阈值,负载测试可以理解为在极限情况下可以坚持多久。性能测试是为了验证系统的性能指标。
18. 测试工程师在软件测试计划阶段依据工作说明书制定测试进度。
19. 黑盒测试技术 ,使用最广的用例设计技术是等值分析测试。
20. 软件测试计划评审会需要哪些人员参加? 项目经理、SQA负责人、配置负责人、测试组
21. IOS 单元测试框架有哪些? XCTest、GHUnit、OCMock
22. 测试设计员的职责有哪些?设计测试用例、设计测试过程、脚本。