△测试的定义
测试是为了发现错误而执行程序的过程。——Mars,1979
使用人工或自动的手段来运行或测量软件系统的过程,以检验系统是否满足规定的需求,并找出与预期结果之间的差异。——IEEE
△测试原则
测试能找到程序中存在缺陷,并不能代表程序里不存在缺陷。
穷尽测试时不可能的,所以智能尽量提高测试的覆盖率。
尽快进行测试,后期的维护的成本高。
缺陷具有群集特性(不同模块同一个开发人员可能会存在相同的问题),这个和开发人员的水平相关。
用例需要及时评审,及时更换测试方法(相同的测试方法迭代测试可能发现不了什么问题)
二八原则(百分八十的时候放在重点模块)
测试活动的展开依赖于测试背景(不同的软件对不同的方面的要求不同,有的软件对兼容性要求更高,有的软件对功能的要求更高)
△测试阶段
单元测试--单元是最小测试单元,由开发人员执行,能尽快发现错误,
集成测试--将单元组成模块,进行各个单元之间接口的测试
系统测试--在集成测试的基础撒谎给你,在实际情况下运行程序,测试整个系统的功能和性能
验收测试--交付测试,由用户/客户来决定是否验收通过。Alpha测试-用户在开发提供的环境底下进行测试。Beta测试=用户在用户提供的环境下进行测试
△测试手段
白盒/黑盒
白盒测试--检测代码中的每个分支和路径,无法检测代码中遗漏的数据,测试成本高
黑盒测试--验证软件是否符合需求,验证输入输出是否正确
灰盒测试--结合白盒和黑盒的测试
静态/动态
静态测试--通过文档或者代码发现问题(不执行程序)
动态测试--运行程序,验证软件的正确性和健壮性(黑盒测试、白盒测试都属于动态测试)
手工/自动化
手工测试:不使用测试工具,人工去验证输入输出,依赖人力资源,覆盖量化难
自动话测试:编写自动化测试代码进行
测试,效率高,但一次性投入大,测试成本高
△测试类型
功能测试--对软件的功能进行测试,保证软件功能与客户的需求一致
性能测试--性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。例如:压力测试和负载测试
安全测试--对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程 。类似黑客的攻击
易用性测试--用户使用软件时是否感觉方便
兼容性测试--程序在各种测试环境下(例如不同系统)能否正常使用
可靠性测试--软件系统在规定的时间内以及规定的环境条件下,完成规定功能的能力。一般情况下,只能通过对软件系统进行测试来度量其可靠性。
共同学习,写下你的评论
评论加载中...
作者其他优质文章