什么是软件测试?软件测试的目的是什么?
为了发现程序中的错误而执行程序的过程。
其目的是为了能够发现程序中存在
的错误,审核产品的完成是否符合用户的需求,提高用户体验,交付更高质量的产品。
测试的分类
按测试阶段分:单元测试——集成测试——系统测试——验收测试
按测试方法分:白盒测试——灰盒测试——黑盒测试
按被测对象是否运行的角度分:动态测试、静态测试
其他测试分类:
功能测试(根据产品特征、 操作描述和用户方案来确定它们满足设计需求)、
界面测试、安全测试、兼容性测试、
易用性测试(从使用的合理性和方便性等角度对软件系统进行检查,发现 人为因素或使用上的问题)、
性能测试(包括 负载测试、强度测试、数据库容量测试、基准 测试等类型)、
压力测试(获取系统正确运行的极限,检查系统在瞬间峰值负荷下正确执行的能力)、
负载测试(检验系统的能力最高能 达到什么程度)、
恢复测试、冒烟测试、回归测试、探索性测试
什么是黑盒测试?
黑盒测试是从用户的角度出发,着眼于程序外部结构,不考虑内部逻辑,主要是针对软件界面和软件功能进行测试,以此来确认软件的功能和界面是否正确或遗漏,数据库访问是否正常,会不会出现性能错误、初始化和程序终止等BUG。
Alpha、Beta测试的区别(验收测试)?
Alpha测试一般是在模拟实际操作开发环境下进行,受开发方控制,用户数量相对较少,时间比较集中;
Beta测试是用户公司组织各方面的典型终端用户在生产环境下进行,用户不受开发方控制,
可以自由地测试,用户数量相对较多,时间不集中。
比较一下冒烟测试与回归测试?
冒烟测试是在开发人员交付软件时进行的大体预测,主要是针对整体流程和主体功能进行测试;目的是确认软件基本 功能正常,可以进行后续的正式测试工作。
回归测试是开发人员修改了已提交的BUG后,测试人员进行再一轮的测试,主要是检查BUG是否被修复,BUG相关功能是否被影响。验证以前发现和修复的错误是否在新软件版本上再现。
常用测试用例的方法?
1 等价类划分法
2 边界值法
3 因果图及判定表法
4 正交表
5 测试大纲法
6 场景法
7 错误推断法
8 随机测试
9 需求文档转化法
总结下测试流程?
需求分析——编写测试用例——评审测试用例——搭建测试环境——等待开发提交测试包——部署测试包——冒烟测试(主体功能预测)——执行测试用例——BUG跟踪处理(提交及回归BUG)——N轮之后符合需求——版本上线——面向用户使用
软件测试的生命周期
测试计划 → 测试设计 、测试开发 → 测试执行 → 测试评估
软件测试V模型
V模型指出,单元和集成测试应检测程序的执行是否满足 软件设计的要求;系统测试应检测系统功能、性能的质量 特性是否达到系统要求的指标;验收测试确定软件的实现 是否满足用户需要或合同的要求
W模型特点:测试的对象不仅是程序,需求、设计等同样 要测试,测试与开发是同步进行的
软件测试的活动
测试计划-测试设计-测试执行-测试评估
软件测试针对软件开发生命周期的流程
• 需求阶段:
测试人员了解需求、对需求进行分解,得出测试需求,编写测试
计划/测试方案
• 设计阶段:
测试人员适当的了解设计,对于设计测试用例是很有帮助的,测 试人员可以根据需求和设计编写一部分测试用例
• 编码阶段:
测试人员一般是不需要编码的,但已经编码的模块,专业的白盒
测试人员可以计划执行单元测试 •
• 测试阶段:
测试阶段是软件测试人员最为重要的工作阶段,这时候测试人员 需要把测试用例进一步细化,根据测试用例和计划执行测试,在 执行的过程中记录缺陷,测试完成后整理测试报告。
• 实施:
测试人员需要参与项目的实施工作。测试人员对项目产品的业务 和操作非常了解,加上测试人员的沟通表达能力一般都比较强, 所以测试人员可以参与用户使用软件的培训,在试运行项目时收 集问题并及时反馈给相关负责人。