软件测试基础

目录

软件测试定义:

特点:

技能要求:

要求具备的素质:

软件测试与调试的区别:

需求:

测试用例:

软件错误(BUG):

BUG的级别:

BUG的生命周期:

软件的生命周期:

模型:

增量:

scrum:

软件测试模型:

软件测试的生命周期:

与开发人员产生争执如何做:


软件测试定义:

验证软件产品特性是否满足用户的需求

特点:

软件测试只是一个样本试验,具有不可穷尽性。

技能要求:

业务能力,设计和架构分析能力,测试手段和工具使用,用户模型分 析和理解,编程能力

要求具备的素质:

综合能力:

1)沟通能力。测试工程师的沟通能力会直接影响事务开展的效率。良好清晰的沟通能力,是一个技术优秀的测是工程师是否可以获得更好发展的“敲门砖”。

2)快速学习的能力 对不同业务需求和功能的快速学习与理解能力。 对于测试新技术和新方法的学习能力。

3)开发能力 文字能力

4)掌握自动化测试技术

5)优秀的测试用例设计能力

6)探索性思维

7)有责任感和能承受一定的压力

软件测试与调试的区别:

目的不同:

-调试(Debug):确保程序做了程序员想它做的事情

-测试(Testing):确保程序解决了它该解决的问题 

参与角色不同

-测试由测试人员和开发人员来执行,黑盒测试主要由测试人员完成、单元/集成测试主要是由开发 人员执行。

-调试由开发人员完成。

执行的阶段不同

–测试贯穿整个软件开发生命周期

-调试一般在开发阶段。

需求:

用户需求:

可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成 的任务。该需求一般比较简略。

软件需求:

或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能。

小练习:从用户登录为例

要从用户登录的功能

用户登录的安全性

用户登录的兼容性

用户登录的性能 分析

测试用例:

测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环 境、操作步骤、测试数据、预期结果等要素。

软件错误(BUG):

当程序没有实现最终用户合理预期的功能需求时,就是软件错误

BUG的级别:

Blocker(崩溃):

阻碍开发或测试工作的问题;造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错 误,主要功能丧失,基本模块缺失等问题。如:代码错误、死循环、数据库发生死锁、重要的一级菜单 功能不能使用等(该问题在测试中较少出现,一旦出现应立即中止当前版本测试)。

Critical(严重):

系统主要功能部分丧失、数据库保存调用错误、用户数据丢失,一级功能菜单不能使用但是不影响其他 功能的测试。功能设计与需求严重不符,模块无法启动或调用,程序重启、自动退出,关联程序间调用 冲突,安全问题、稳定性等。如:软件中数据保存后数据库中显示错误,用户所要求的功能缺失,程序 接口错误,数值计算统计错误等(该等级问题出现在不影响其他功能测试的情况下可以继续该版本测 试)。

Major(一般):

功能没有完全实现但是不影响使用,功能菜单存在缺陷但不会影响系统稳定性。如:操作时间长、查询 时间长、格式错误、边界条件错误,删除没有确认框、数据库表中字段过多等(该问题实际测试中存在最 多)

Minor(次要):

界面、性能缺陷,建议类问题,不影响操作功能的执行,可以优化性能的方案等。如:错别字、界面格 式不规范,页面显示重叠、不该显示的要隐藏,描述不清楚,提示语丢失,文字排列不整齐,光标位置 不正确,用户体验感受不好,可以优化性能的方案等(此类问题在测试初期较多,优先程度较低;在测 试后期出现较少,应及时处理)

BUG的生命周期:

Rejected::如果认为不是Bug,则拒绝修改。

Delay:如果认为暂时不需要修改或暂时不能修改,则延后修改。

Closed:修改状态的Bug经测试人员的回归测试验证通过,则关闭Bug。

Reopen:如果经验证Bug仍然存在,则需要重新打开Bug,开发人员重新修改

软件的生命周期:

需求分析 计划 设计 编码 测试 运行维护

模型:

瀑布模型:

优点:

强调开发的阶段性

强调早期计划及需求分析

强调产品测试

缺点:

依赖于早期唯一一次需求调查,不能适应需求的变化

由于是单一流程,开发中的经验教训不能反馈应用于本产品的过程

风险往往迟至后期的测试阶段才显露,因而失去及早纠正的机会

螺旋模型:

它不允许有一段独立的测试时间和阶段,测试必须跟随开发的迭代而迭代。

优点:

强调严格的全过程风险管理

强调各开发阶段的质量

提供机会探讨项目是否有价值继续下去

缺点:

引入非常严格的风险识别、风险分析和风险控制,这对风险管理的技能水平提出了很高 的要求。这需要人员、资金和时间的投入

增量:

增量开发模型,鼓励用户反馈,在每个迭代过程中,促使开发小组以一种循环的、可预测的方式驱动产品 的开发。意味着测试需要频繁进行,测试人员需要与开发人员更加紧密地协作。

和迭代的区别:

增量是逐块建造的概念,例如画一幅人物画,我 们可以先画人的头部,再画身体,再画手脚……

而迭代是反复求精的概念,同样是画人物画,我们可以 采用先画整体轮廓,再勾勒出基本雏形,再细化、着色。

scrum:

scrum是敏捷开发的一种方式

scrum由product owner(产品经理)、scrum master(项目经理)和team(研发团队)组成。

迭代开发:

scrum将产品的开发分解为若干个小sprint(迭代),其周期从1周到4周不等,但不会超过4 周。参与的团队成员一般是5到9人。每期迭代要完成的user story是固定的。每次迭代会产生一定的交 付。        

软件测试模型:

v模型(是瀑布模型的变种):

w模型(型由两个V字型模型组成):

 W模型优点:有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需 求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度 和测试风险,及早制定应对措施,显著减少总体测试时间,加快项目进度。

局限性:需求、设计、编码等活动被视为串行的;测试和开发活动也保持着一种线性的前后关系, 上一阶段完全结束,才可正式开始下一个阶段工作。无法支持敏捷开发模式。对于当前软件开发复 杂多变的情况,W模型并不能解除测试管理面临着困惑。

软件测试的生命周期:

需求分析 测试计划 测试设计、测试开发 测试执行 测试评估

与开发人员产生争执如何做:

1、先检查自身,

是否bug描述不清楚 如果能正确地、高质量地录入一个Bug,那么基本上已经成功地与开发人员沟通了一大半的关于Bug的信息。但是总有“书难达意”的耐候,这时就需要测试人员主动与开发人员进行沟通了。 如果测试人员发 现在写完一个缺陷后,好像还有很多关于Bug的信息没有表达出来,或者很难用书面语言表达出来时, 就应该在提交Bug后,马上找相关的程序员解释刚才录入的Bug,确保程序员明白Bug描述的意思,而 不要等待开发人员找自己了解更多的信息。

2、站在用户角度考虑问题 应该让开发人员了解到Bug对用户可能造成的困扰,这样才能促使开发人员 更加积极地、高质量地修改Bug。在争执时,可以问一句:如果你是用户,你可以接受么? 

3、BUG定级要有理有据 BUG定级时,不仅要参考BUG级别,还要考虑BUG是否会影响到流程,往往用户的BUG级别和我们的 是有区别的,需站在用户的角度定考虑定位级别。

4、提高自身的技术和业务水平. 不光要提出问题, 最好也能提出解决方案 提高自身的业务和技术水平,不但要做到能提出问题,还能够提出解决问题的思路。这样才能更让人信 服。 在工作中,你会发现同一个bug,资深测试工程师提出和初级测试工程师提出,两者的结果完全不同, 两者最大的差别是资深测试工程师往往会提出解决方案。而长此以往,权威性逐渐的建立起来,那么开 发人员看到bug的第一反应,就是这是一个bug,而不是这是一个bug吗? 

5.开发人员不接受时,不要争吵 可能你已经经过了多轮沟通,但是开发人员仍然拒不接受。此时可以发起Bug评审。 Bug评审要注意的问题 缺陷的评审应该包括以下两个层面

● 决定如何处理Bug。

● 分析缺陷产生的原因,找出预防的对策。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发呆的百香果子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值