在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
设计功能测试用例是软件测试人员的一基本功。然而很多新手测试工程师对基本的测试概念、思路以及技术没有充分的认知,甚至在设计测试用例的时候大部分时间通过直觉与经验执行。因此这部分新手测试工程师的测试用例设计既不全面也不可学 。那对于新手而言应该如何设计功能测试用例呢?

一、显式功能性需求:指的是需求中明确规定且用户可以感知到的需求,比如“访客用户访问管理员页面时会跳转到登录页”。常用方法有三种:
1、等价类划分法
我们如果想测试一个功能的最傻的办法就是穷举。比如说一个密码验证功能,我们把所有的可能的密码都尝试一遍,自然就可以覆盖掉到所有的问题与可能。但是这种穷举的方法明显是做不到的。因此我们要用到等价类划分法。等价类划分法就是说我们将所有可能的输入数据或操作分为多组不同的子集,每个子集中的数据与操作对发现程序中的潜在错误都有同等的效应。这样我们就将一个子集称为一个等价类。
2、边界值分析法
在我们在测试合理与不合理的数据的时候,往往最容易出现问题的就是合理与不合理的边界,这时我们就需要使用边界值分析法了。边界值分析法,就是对恰好大于、小于和等于边界的值进行测试,来验证程序是否做到了合适的处理。边界值分析法一般是作为等价类的补充,来加强测试功能实现的程度与健壮性保障的程度,是否符合规格。
3、错误推测法
在测试的时候就算我们使用了等价类划分法和边界值分析法,也很可能会遗漏一些需求中没有清晰提出,技术上比较隐蔽的错误。这种错误就需要测试人员通过已有的经验、对功能实现可能的方法的理解或直觉,来推测出软件中可能存在的各种错误与场景,然后编写测试用例来进行验证,这就叫做错误推测法。比如,登录超时后,某个需要权限操作的功能在使用的时候,是否跳到了登录页,还是直接报错,甚至说依旧可以操作。这种错误是需要测试人员一定的经验、技术积累与直觉的。
二、非功能性需求:指的是用户无法直接体验到的,非具体功能性的需求,但这种非功能性需求在做功能性测试的时候也会涉及到,因为很多非功能性的需求会影响到功能的可用性与用户体验,比如性能测试。
1、兼容性测试
兼容性指的是开发的软件是否在各种平台都可以使用。比如我们开发一个网站,我们的用户可能会用到各种不同的浏览器访问我们的网站。这样我们在测试的时候,就不能只考虑到某一种浏览器。我们需要考虑到多种浏览器的兼容性。
2、安全性测试
我们的测试人员还需要关注到开发软件的安全性。这涉及到:用户隐私信息是否加密;需要权限的资源是否有没有权限也可以被拿到的风险;会不会受到跨站脚本的攻击;会不会受到sql注入攻击等等。
3、压力测试
测试人员也需要考虑的软件是否能够承载其需求所需的压力,例如:软件是否能在合理的时间内响应用户行为;软件是否可能承载足够的请求;软件在处理大数据量时会不会产生资源锁死。
在软件测试过程中,如果测试用例设计不全面,就会导致测试结果出现严重的偏差,甚至影响整个产品的研发周期。因此作为软件测试工程师一定要注重测试用例的设计。尤其对于新手,刚开始做测试工作时一定要注重积累和学习。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
软件测试面试常见问题及答案
软件测试在国内起步较晚,但是经过近几年的发展,大部分互联网企业对软件测试岗位越来越重视,软件测试让产品更加完善,同时也大大降低了企业的运营成本。现在企业对于软件测试人员招聘越来越严格,软件测试工作也越来越严谨,下面小编整理了一些软件测试岗位面试时常见的问题和大家分享。
8545
2019-12-10 18:50:54
从零基础到高级软件测试工程师学习路线规划
对于零基础的入门软件测试得小伙伴来讲,想要学好软件测试最重要的就是规划一条科学的学习路线。试想如果一开始就盲目学习,很容易在迷失学习方向不说,还难以建立起自己的知识框架,从而不能很好地掌握所学的内容。为了避免大家努力错方向,本文为大家规划了一条从零基础到高级软件测试工程师的学习路线,下面就一起来看看吧~
8677
2020-05-05 16:04:07
白盒测试和黑盒测试的区别
白盒测试和黑盒测试的区别白盒测试和黑盒测试都是计算机领域行业用以检查程序的状态,确定实际运行状态与预期状态是否一致。白盒测试技术深入到代码一级的测试,使用这种技术发现问题最早,效果最好。黑盒测试技术覆盖全部的功能,结合兼容,性能测试等方面进行,根据软件需求,设计文档,模拟客户场景随系统进行实际的测试。
6611
2020-06-01 15:32:12
大专学软件测试好找工作吗?
软件测试开发门槛低,对于代码编写的能力要求不是很高,不少企业看重技术在招聘时对学历的要求也会有所降低。大专生学软件测试也可以找到满意的工作,前提是要能具备企业所需要的技能。
6640
2021-01-22 10:08:47
自动化测试是什么?应用在哪儿?
软件测试是一个涉及很广的领域,本质是质量保障,所以不是要求你去专研某一个知识而是去专研其实用性,如何更可能的节省测试成本和保证测试质量。想要做好软件测需要对系统业务、编程、系统框架搭建有所专研,更需要在测试流程与平台建设方面有所认识。
5365
2021-03-19 11:11:36
