复制
软件测试的主要任务:
尽可能多地将隐藏在软件中的问题找出,并保证软件测试的质量达到既定的要求。
软件测试方法的分类
q依据被测程序是否运行
q——静态测试和动态测试
q依据内部结构和代码是否需要了解
q——白盒测试和黑盒测试
q依据测试的阶段和过程内容
q——单元测试、集成测试、系统测试、验收测试
q静态测试
Ø静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。
q动态测试
Ø真正运行被测试的程序,通过输入测试用例,对其运行情况即输入与输出的对应关系进行分析,以达到检测的目的。
q检查算法的逻辑正确性。
q检查模块接口的正确性。
q检查输入参数是否有合法性检查。
q检查调用其他模块的接口是否正确。
q检查是否设置了适当的出错处理。
q检查表达式、语句是否正确,是否含有二义性。
q检查常量或全局变量使用是否正确。
q检查标识符的使用是否规范、一致。
q检查程序风格的一致性、规范性。
q检查代码是否可以优化,算法效率是否最高。
q检查代码注释是否完整,是否正确反映了代码的功能。
动态测试
q功能确认与接口测试
q覆盖率分析
q性能分析
q内存分析
黑盒测试和白盒测试
q若测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,则这种测试方法称为黑盒测试(Black-boxTesting)方法。
——黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。
q若测试规划基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试(White-box Testing)方法。
——白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。
q黑盒测试是在程序接口进行测试,它只是检查程序功能是否按照规格说明书的规定正常使用,也被称为用户测试。
q根据其输入值和输出值设计测试用例
q
q白盒测试需要完全了解程序结构和处理过程,它按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作,也被称为基于覆盖率的测试。
q单元测试针对每个程序的模块,粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”
q测试人:开发人员
q测试依据:设计文档
q主要测试4个方面的问题:
Ø模块接口
Ø局部数据结构
Ø边界条件
Ø独立的路径和错误处理
q集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既要验证“设计”又要验证“需求”
q测试人:开发人员
q测试依据:设计文档、需求文档
q注意回归测试
q为什么要进行系统测试?
——由于软件只是计算机/手机系统中的一个组成部分,软件开发完成之后,最终还要和系统中的硬件系统、某些支持软件、数据信息等其他部分配套运行。通过系统测试,保证系统各部分协调工作,在真实的环境下稳定运行。
q系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”
Ø测试人:独立测试小组
Ø测试依据:需求文档
q验收测试一般由客户进行
q最后需要做出验收结论
Ø明确通过验收或不通过验收
q测试人:真实用户
q测试依据:需求文档
测试阶段 |
主要依据 |
测试人员 / 测试方法 |
主要测试内容 |
单元测试 |
系统设计文档 |
由开发小组执行白盒测试 |
接口测试、路径测试 |
集成测试 |
系统设计文档 需求文档 |
由开发小组执行白盒测试和黑盒测试 |
接口测试、路径测试 功能测试、性能测试 |
系统测试 |
需求文档 |
由独立测试小组执行黑盒测试 |
功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试 |
验收测试 |
需求文档 |
由用户执行黑盒测试 |
测试用例
q软件测试的依据
Ø需求规格说明书、设计文档说明等
q测试用例(TestCase):是为某个特定的目的而设计的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
q测试用例是执行测试的最小实体。
q测试用例内容:包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。
q测试步骤:测试步骤详细规定了如何设置、执行、评估特定的测试用例。
q总结步骤:
Ø第一步骤:分析输入项,提取测试要素,归纳有效数据和无效数据
Ø第二步骤:形成测试要素矩阵,设计测试用例表格
Ø第三步骤:组合测试要素,补充填写测试数据,完成测试用例
q等价类划分法——常用的黑盒测试用例设计方法
q等价类划分法:
q是把所有可能的输入数据(即程序的输入域)划分成若干部分子集,然后从每一个子集中随机选取少数具有代表性的数据作为测试用例。
q性能测试:是借助测试工具或手工开发测试脚本,模拟典型的用户行为以判断系统性能是否达到期望目标,同时监控关键性能测量结果的过程。如常规性能、并发、负载、压力、强度、大数据量测试。
q兼容性测试:是验证被测系统是否可以在各种可能的运行环境中正常工作的测试活动。
q用户界面测试:界面的规范性和合理性,界面的元素等测试。
q安装测试、安全性测试、文档测试等
q缺陷报告单:描述缺陷的基本信息
q缺陷标识
q报告人及报告日期
q被测对象及其版本
q测试环境
q缺陷严重程度及优先级
q缺陷的具体内容描述
q重现步骤和相关信息等
q缺陷处理过程的跟踪记录
软件测试的工作流程
