【测试】Bug和用例
软件测试贯穿于软件的整个⽣命周期
软件测试的⽣命周期是指测试流程,这个流程是按照⼀定顺序执⾏的⼀系列特定的步骤,去保证产品质量符合需求。在软件测试⽣命周期流程中,每个活动都按照计划的系统的执⾏。每个阶段有不同的⽬标和交付产物
Bug
bug的概念
定义: ⼀个计算机bug指在计算机程序中存在的⼀个错误(error)、缺陷(flaw)、疏忽(mistake)或者故障(fault),这些bug使程序⽆法正确的运⾏。Bug产⽣于程序的源代码或者程序设计阶段的疏忽或者错误。
准确的来说:
1. 当且仅当规格说明(需求文档) 是存在的并且正确,程序与规格说明之间的不匹配 才是错误。
2. 当需求规格说明书没有提到的功能, 判断标准以最终⽤⼾为准 :当程序没有实现其最终⽤⼾合理
预期的功能要求时,就是软件错误
描述bug的基本要素
问题出现的版本、问题出现的环境、问题出现的步骤、预期结果、实际结果
bug级别
通过定义bug的级别,能够明确看出问题的严重程度。⼯作中开发⼈员通常需要按照bug的级别来分配优先级来处理bug,除此之外,通过bug级别也能够体现出开发⼈员的开发质量
bug级别⼀般分为: 崩溃、严重、⼀般、次要
bug的⽣命周期
测试⼈员在执⾏测试的过程中如有发现bug,需要在对应的bug管理平台来创建bug(bug⽣命起 源),创建好的bug需要被开发⼈员修复,以及测试⼈员的持续跟踪和测试。
New:新发现的Bug,未经评审决定是否指派给开发⼈员进⾏修改。● Open:确认是Bug,并且认为需要进⾏修改,指派给相应的开发⼈员。● Fixed:开发⼈员进⾏修改后标识成修改状态,有待测试⼈员的回归测试验证。● Rejected:如果认为不是Bug,则拒绝修改。● Delay:如果认为暂时不需要修改或暂时不能修改,则延后修改。● Closed:修改状态的Bug经测试⼈员的回归测斌验证通过,则关闭Bug。● Reopen:如果经验证Bug仍然存在,则需要重新打开Bug,开发⼈员重新修改。⽆效的bug:open->closed open-rejected-closed
测试用例
概念
测试⽤例(Test Case)是为了 实施测试⽽向被测试的系统提供的⼀组集合 ,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。
设计测试⽤例
正确设计测试⽤例的思想: 常规思考+逆向思维+发散性思维
设计测试⽤例原则⼀:测试⽤例中⼀个必需部分是对预期输出或结果进⾏定义
设计测试⽤例的原则⼆:1.测试⽤例的编写不仅应当根据有效和预料到的输⼊情况,⽽且也应该根据⽆效和未预料到的输⼊情况。2.检查程序是否“未做其应该做的”仅是成功的⼀半,测试的另⼀半是检查程序是否“做了其不应该做的”。(是上⼀条原则的必然结果)3.计划测试⼯作时不应默许假定不会发现错误
设计测试⽤例:功能测试+界⾯测试+性能测试+兼容性测试+易⽤性测试+安全测试。
性能测试和功能测试的区别是:功能测试检查软件是否做了(验证功能是否正确),⽽性能测试测试软件做的好不好(通常为极端情况)。
易⽤性测试的标准是检查产品是否具备简单易上⼿的属性。
安全测试:常⻅的安全问题:隐私数据明⽂显⽰。 参数未强校验导致SQL注⼊。 越权:普通⽤⼾也可以执⾏管理员权限的操作。
⽐较常⽤的测试类型: 弱⽹测试、安装卸载测试