1、现代软件测试的定义
测试不单纯是发现错误的过程,而且将测试作为软件质量保证的主要职能,包含软件质量评价的内容。行业标准给软件测试下的定义是:“使用人工或者手动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果的差别”。
2、软件测试的目的
① 发现缺陷、提高质量(正面、反面测试)
②验证是否满足需求(功能、性能、可靠性需求)
③建立软件质量的信心(正、反面测试是否充分)
【反面测试】:通过非法操作执行软件检验是否有错
3、软件缺陷的定义
① 软件错误或者软件缺陷是软件产品的固有成分,是软件“与生俱来”的特征
②软件缺陷引发软件故障和软件失效
③软件缺陷包括检测缺陷和残留缺陷。检测缺陷是指在用户使用之前被检测出的缺陷;残留缺陷是指软件发布后存在的缺陷,包括在用户安装前未被检测出的缺陷以及检测出但未被修复的缺陷。
4、什么是软件缺陷
① 软件未实现产品说明书要求的功能。
②软件出现了产品说明书指明不应该出现的错误。
③软件实现了产品说明书未提到的功能
④软件未实现产品说明书虽未明确提及但应该实现的目标
⑤软件难以理解、不易使用、运行缓慢或者从测试员的角度来看,最终用户认为不好。
5、产生缺陷的原因
大多数软件缺陷并不是由编码造成的,导致大多数软件缺陷产生的最主要阶段是需求分析阶段,其次是在软件设计阶段。
① 需求的不完善定义
②客户-开发者通信失败
③对软件需求的故意偏离
④逻辑设计错误
⑤编码错误
⑥不符合文档编制与编码规定
⑦测试过程不足
⑧规程错误
⑨文档编制错误
6、软件缺陷的描述
缺陷ID、缺陷基本信息(包括缺陷标题,缺陷严重程度、缺陷提交人、提交时间、所属模块、指定解决人、制定解决时间、最终处理人、缺陷处理结果描述、处理时间、缺陷验证人、缺陷验证结果描述、缺陷验证时间)、缺陷的详细描述、测试环境说明、必要的附件。
7、软件测试的原则
软件测试应尽早执行
不同阶段引入的缺陷对于软件的影响8、黑盒测试设计测试用例的方法
一般采用等价类划分、因果图法、边界值分析、用户界面测试等方法适用功能测试和验收测试
①等价类划分。把程序的输入域划分成若干部分。然后从每个部分选取少数有代表性的数据当做测试用例。等价类的划分分为有效等价类和无效等价类
例如:在程序的规格说明中,输入条件有一个规定:“输入数值的范围是1-999”
有效的等价类是1<=输入值<=999,两个无效等价类是“输入值<1”和“输入值>999”
练习:输入有效的月份。
②边界值分析。
例如:输入值范围是1-9,则可选取1、9、0.9、9.1作为测试数据
练习:输入有效的月份
③随机测试
④猜错法。依靠测试人员的经验和直觉,从各种可能的测试方案中选出一些最有可能引起程序出错的方案。基本思想是:列举出程序中所有有可能有错误和容易发生错误的特殊情况,根据他们选择测试用例。
⑤探索性测试。强调测试人员的主观能动性,抛弃繁重的测试计划和测试用例设计过程,强调在遇到问题时改变测试策略。
网友评论