- 软件测试生命周期:需求分析、测试计划、测试设计
- 瀑布模型:start—>需求分析—>计划—>设计—>编码—>测试—>end
- 白盒测试:是指针对程序的逻辑结构来设计测试用例,逻辑测试覆盖是白盒测试常用的技术,主要的覆盖标准有6种,强度由弱到强依次是:
- 语句覆盖(度量被测代码中每个可执行语句是否被执行到了)
- 判定覆盖
- 条件覆盖
- 判定/条件覆盖
- 条件组合覆盖
- 路径覆盖
- 黑盒测试方法:
- 等价类划分法
- 边界值分析法
- 因果图法:着重测试规格说明中的输入与输出间的依赖关系,适用多种条件的组合
- 场景法
- 测试参考文档
- 单元测试——详细设计文档
- 集成测试——概要设计文档
- 系统测试——系统设计文档
- 压力测试和负载测试区别
- 压力测试:是在强负载(大数据量、大量并发用户等)下的测试,是测试软件的瓶颈和极限
- 负载测试:是性能在极限情况下能坚持多久
- 集成测试:
- 渐增组装测试
- 非渐增组装测试
- 软件测试按开发阶段分:
- 单元测试:最小模块
- 集成测试:模块间的接口
- 系统测试:整个系统(软、硬件)——安全、性能、压力、功能、回归测试
- 验收测试:整个系统(软、硬件)
- 软件测试按测试实施组织一般分为α、β、γ三个阶段
-
α:是第一阶段,一般只供内部测试使用。公司内部,由专业人员执行。α测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的用户操作方式。α是验收测试的一种。
-
β:是第二阶段,已经消除了软件中大部分的不完善之处,但仍有可能还存在缺陷和漏洞,一般只提供给特定的用户群来测试使用。公司外部,可由非专业的测试人员执行。β是验收测试的一种。
-
γ:此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可上市发行。
- 软件测试计划评审会需要参加人员:
- SQA人员:软件质量保证(Software Quality Assurance)
- 项目经理
- 客户
- 配置管理员
- 测试经理(制定测试计划)
- 开发组长
- 系统分析员
- 软件验收测试的合格通过准则是:
- 软件需求分析说明中定义的所有功能已经全部实现,性能指标全部达到要求
- 立项审批表,需求分析文档,设计文档和编码实现一致
- 验收测试工件齐全(测试计划、测试用例(Test Case)、测试日志、测试通知单、测试分析报告)
- 测试人员的职责
- 编写测试用例
- 执行测试,发现软件测试缺陷,并提交测试报告
- 验证所发现的缺陷是否得到修改
- 编写测试总结报告
- 设计测试过程和脚本
- 数据流测试:按照程序中的变量定义和使用的位置来选择程序的测试路径
- 路径测试时执行了每个路径,每个判定的结果肯定经历过一次,所以路径覆盖,则判定必覆盖
- 等价类与边界值的概念及区别:
- 等价类:对所有可能的输入数据划分为多个子集,在这些子集中选取具有代表性的数据作为测试用例
- 边界值:对输入域的边界条件进行分析,并设计出针对边界值的测试用例
- 二者区别:边界值不是从某等价类中随便挑出一个作为代表,而是使这个等价类的每个边界都要作为测试条件 边界值不仅考虑输入条件,还要考虑输出空间产生的测试情况
- 测试类命名以Test结尾前接类名,如PersonTest
- 初始化一个被测试对象,会在测试类的SetUp()中进行
- 单元测试,是一种需要关注程序结构的测试,是使用白盒测试