1. 软件测试的定义
(1)官方定义:
①用来促进鉴定软件的正确性、完整性、安全性和质量的过程
②是一种实际输出与预期输出间的审核或者比较过程
③使用人工和自动手段来运行或者测试某个系统的过程,其目的在于检验它是否满足规定的需求或者是弄清预期结果与实际结果之间的差别
(2)经典定义:
①软件测试是为了发现错误而执行程序的过程
②软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,已发现程序错误的过程
2. 软件测试分类
(1)按开发阶段:单元测试、集成测试、系统测试、验收测试。
(2)按测试的实施单位:开发方测试、用户测试、第三方测试。
(3)按测试技术:白盒测试、黑盒测试、灰盒测试。
①白盒测试:结构测试或逻辑驱动测试。方法:语句、判定、条件、判定\条件、条件组合、路径覆盖等。
②黑盒测试:功能测试或数据驱动测试。方法:等价类划分、边界值分析、因果图分析、错误推测法、功能图分析等。
3. 测试流程
(1)简略测试流程:需求分析-->编写测试计划-->测试设计-->测试执行-->测试结果输出
(2)需求分析阶段:阅读需求,理解需求,主要就是对业务的学习,分析需求点,参与需求评审会议。
(3)测试计划阶段:主要任务是编写测试计划,参考软件需求规格说明书制定项目总体计划,内容包括测试范围,环境资源的准备,进度安排,人力物力的分配,整体测试策略的制定