10年测试老鸟经验分享,写给迷茫的你

   转眼间,10年的光阴转瞬即逝,在这些年我经历了许多,也成长了许多!其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和。当然,我说的是最基础的功能测试的岗位需求已经很少了,而自动化、性能、安全乃至于以后可能出现的大数据测试、AI测试仍存在着非常多的机会。许多的年轻人在入行之后很多时候都有就这样的一段经历,比如明明自己就很忙,每天忙的像条狗一样,却还要被老大批。每个人都是这样一步步过来得,我在这里分享一下我得经验,如何有效得进行测试,

1、验证需求

为每个需求提供 质量度量标准,具体而言就是针对需求划分2个分类:满足需求分类和不满足需求分类。要明确满足需求和不满足需要的具体度量标准,是模糊的需求明确化。对于不易明确化的需求,可以进行需求划分,把大需求划分为若干个可以明确的小需求。验证需求时需要验证的属性:

  • 正确性:根据用户的需求进行验证。是否正确的完成了用户的真实需求。
  • 完整性:用于保证需求中没有遗漏任何必须的元素。避免遗漏原始需求。

除了功能性需求之外,非功能性需求也需要验证,具体包括:性能、安全、可用性、兼容性、可访问性等。非功能性需求可以分为系统级需求和功能级需求。非功能性需求检查表如下:

  • 一致性:是否有互相矛盾的情况。排除有歧义的地方。
  • 可测性:需求是否可以测试并且有准确的预期输入和结果。否则需要提醒相关风险。
  • 可行性:保证需求可以在有效的资源内被完成。比如:预算、进度、技术等。
  • 必要性:确认需求是否为必须,如果去除是否有任何问题。
  • 优先级:为每个需求确定其优先级,便于后期在必要时对需求进行取舍。
  • 明确性:需求的陈述需要精确且可测量。比如:性能指标不能以很快来描述。
  • 可追溯性:明确需求被哪些功能模块所调用。保证在需求变化的时候可以追溯影响的范围。

2、注意在现存系统上进行开发和测试

基于现存的系统进行开发或者重构,往往会有很多问题。比如:新旧系统的一致性等。如果要避免2个版本的并行开发的问题,则需要按照如下流程来管理开发项目:

  • 使用确定版本作为基准版本
  • 把该版本程序进行文档化【如果有则可省略】
  • 基准版本有更新时也要文档化
  • 固化形成的有效开发过程
  • 学习找不到资料?这里向大家推荐一个学习资料分享群:175317069,里面有大牛已经整理好的资料,有自动化,jmeter,性能测试,接口等等的资料,欢迎加群一起交流学习哦!

3、了解手头的任务和相关的测试目标

判断一个程序功能是否正确的要素:

  • 合法输入有正确的返回
  • 非法输入有对应的提示
  • 不论何种输入程序都不应挂起、崩溃或退出
  • 可以在预定的时间内一直正常运行
  • 实现了功能性、非功能性需求

了解测试目标的途径如下:

  • 理解系统。从更高的层次来理解需求,而非独立的思考需求本身
  • 尽早介入
  • 理解企业文化和过程。为更好的适应和提出改进意见做准备
  • 实现的范围
  • 测试期望。高层、客户对测试的期望
  • 吸取教训
  • 工作量大小
  • 解决方案的类型。复杂的解决方案,还是简单的解决方式
  • 技术选择。根据技术栈确定待测对象
  • 预算。根据预算来确定投入的测试工作量
  • 时间表。根据时间表来调整测试时间
  • 版本提测方式。迭代提测还是大版本提测

在对系统有了全面的了解后,就可以知道系统的规模和相应的工作量、客户的问题及潜在的风险。通过这些信息来了解当前的测试任务,并据此确定测试目标及对应的测试框架。最终形成测试计划或者测试策略文档。

 

4、获得有效的测试数据

野蛮的遍历所有的测试输入数据和测试输出数据组合是不可取的,所以需要通过合适的测试设计来获得有效的测试数据。测试数据需要覆盖系统级的所有功能。而评审测试数据时需要从如下几点考虑:

  • 深度。需要了解测试数据的数量和规模
  • 广度。考虑测试数据的内容变化,比如:划分类型和区域
  • 范围。对于验证的结果进行范围确定,不能多、不能少、不能错
  • 测试过程中保证数据的完整性。避免测试数据互相影响,不同人员操作相互影响。
  • 条件。为特定测试场景准备一些基础数据,从而高效实现测试执行。

最后,如果可以的话尽量使用客户或者线上已有的测试数据,这样的数据即丰富有真实,尽可能的模拟了线上用户操作。

5、根据功能优先级安排测试工作

功能列表可以按照不同的标准来划分优先级:

  • 风险由高到低
  • 复杂度由高到低
  • 客户的需要
  • 预算的限制
  • 时间的限制
  • 人员的限制

最终可以针对不同维度对某个需求进行打分,然后综合各维度的得分,最后就可以得到一个功能列表的优先级综合得分。

 做到这些带你我不敢说你是个优秀得测试员,但你至少是个合格得测试员,除了这些软实力方面得在资深得技能掌握方面也是必须要过硬,这样才能成为一个优秀得测试员,以下是我总结得一些需要提升得技能希望对你能有帮助!这里向大家推荐一个学习资料分享群:175317069。

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值