在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
设计功能测试用例是软件测试人员的一基本功。然而很多新手测试工程师对基本的测试概念、思路以及技术没有充分的认知,甚至在设计测试用例的时候大部分时间通过直觉与经验执行。因此这部分新手测试工程师的测试用例设计既不全面也不可学 。那对于新手而言应该如何设计功能测试用例呢?
一、显式功能性需求:指的是需求中明确规定且用户可以感知到的需求,比如“访客用户访问管理员页面时会跳转到登录页”。常用方法有三种:
1、等价类划分法
我们如果想测试一个功能的最傻的办法就是穷举。比如说一个密码验证功能,我们把所有的可能的密码都尝试一遍,自然就可以覆盖掉到所有的问题与可能。但是这种穷举的方法明显是做不到的。因此我们要用到等价类划分法。等价类划分法就是说我们将所有可能的输入数据或操作分为多组不同的子集,每个子集中的数据与操作对发现程序中的潜在错误都有同等的效应。这样我们就将一个子集称为一个等价类。
2、边界值分析法
在我们在测试合理与不合理的数据的时候,往往最容易出现问题的就是合理与不合理的边界,这时我们就需要使用边界值分析法了。边界值分析法,就是对恰好大于、小于和等于边界的值进行测试,来验证程序是否做到了合适的处理。边界值分析法一般是作为等价类的补充,来加强测试功能实现的程度与健壮性保障的程度,是否符合规格。
3、错误推测法
在测试的时候就算我们使用了等价类划分法和边界值分析法,也很可能会遗漏一些需求中没有清晰提出,技术上比较隐蔽的错误。这种错误就需要测试人员通过已有的经验、对功能实现可能的方法的理解或直觉,来推测出软件中可能存在的各种错误与场景,然后编写测试用例来进行验证,这就叫做错误推测法。比如,登录超时后,某个需要权限操作的功能在使用的时候,是否跳到了登录页,还是直接报错,甚至说依旧可以操作。这种错误是需要测试人员一定的经验、技术积累与直觉的。
二、非功能性需求:指的是用户无法直接体验到的,非具体功能性的需求,但这种非功能性需求在做功能性测试的时候也会涉及到,因为很多非功能性的需求会影响到功能的可用性与用户体验,比如性能测试。
1、兼容性测试
兼容性指的是开发的软件是否在各种平台都可以使用。比如我们开发一个网站,我们的用户可能会用到各种不同的浏览器访问我们的网站。这样我们在测试的时候,就不能只考虑到某一种浏览器。我们需要考虑到多种浏览器的兼容性。
2、安全性测试
我们的测试人员还需要关注到开发软件的安全性。这涉及到:用户隐私信息是否加密;需要权限的资源是否有没有权限也可以被拿到的风险;会不会受到跨站脚本的攻击;会不会受到sql注入攻击等等。
3、压力测试
测试人员也需要考虑的软件是否能够承载其需求所需的压力,例如:软件是否能在合理的时间内响应用户行为;软件是否可能承载足够的请求;软件在处理大数据量时会不会产生资源锁死。
在软件测试过程中,如果测试用例设计不全面,就会导致测试结果出现严重的偏差,甚至影响整个产品的研发周期。因此作为软件测试工程师一定要注重测试用例的设计。尤其对于新手,刚开始做测试工作时一定要注重积累和学习。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
女生做软件测试的利弊如何权衡?
做软件测试对性别没有要求IT行业里的男女比例男性占比更高,那么女生做软件测试的利弊如何权衡?女生选择就业会考虑比较多,除了自身条件外,还会关注薪资水平、工作压力、加班情况,以及发展空间等因素。女生从长期的职业规划的角度看,女性软件测试具有一定的稳定性,在工作内容方面不太依赖个人的创新能力越久经验越丰富越吃香。
8311
2019-06-25 11:56:55
http接口性能测试流程 案例步骤分析
本文将告诉大家在编写一个http接口性能测试方案时,测试过程的关注点有哪些流程?其实大概可以分为五个步骤,即准备工作、测试计划、测试脚本设计与开发、测试执行与管理和测试分析。
7216
2019-08-13 19:35:06
自动化测试是什么?为什么要做自动化测试?
自动化测试是什么?相信对软件测试有一定了解的朋友都不会感到陌生。自动化测试正如字面上理解得那样,是一种自动完成测试工作的测试方式。虽然是说的自动化,但是也是需要测试员手动编写代码去完成测试工作。那么,为什么要做自动化测试呢?下面我们来深入了解一下,自动化测试的定义以及其在软件测试工作中无可比拟的优势。
8328
2020-02-10 20:07:09
学习软件测试开发培训有必要吗?
对于零基础人群参加软件测试培训很有必要,万事开头难,入门掌握了正确的方法那么后续学习会轻松很多,想找到一个好工作需要系统的学习软件测试课程参加软件测试培训班。
5019
2021-03-09 10:10:08
零基础能学软件测试吗?都学什么?
零基础学习软件测试,一定要有决心、有毅力、有耐心。软件测试主要学习测试基础、Linux和数据库、功能测试、python编程、接口测试、性能测试等几个方向。
4281
2021-06-08 15:43:42