在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
设计功能测试用例是软件测试人员的一基本功。然而很多新手测试工程师对基本的测试概念、思路以及技术没有充分的认知,甚至在设计测试用例的时候大部分时间通过直觉与经验执行。因此这部分新手测试工程师的测试用例设计既不全面也不可学 。那对于新手而言应该如何设计功能测试用例呢?
一、显式功能性需求:指的是需求中明确规定且用户可以感知到的需求,比如“访客用户访问管理员页面时会跳转到登录页”。常用方法有三种:
1、等价类划分法
我们如果想测试一个功能的最傻的办法就是穷举。比如说一个密码验证功能,我们把所有的可能的密码都尝试一遍,自然就可以覆盖掉到所有的问题与可能。但是这种穷举的方法明显是做不到的。因此我们要用到等价类划分法。等价类划分法就是说我们将所有可能的输入数据或操作分为多组不同的子集,每个子集中的数据与操作对发现程序中的潜在错误都有同等的效应。这样我们就将一个子集称为一个等价类。
2、边界值分析法
在我们在测试合理与不合理的数据的时候,往往最容易出现问题的就是合理与不合理的边界,这时我们就需要使用边界值分析法了。边界值分析法,就是对恰好大于、小于和等于边界的值进行测试,来验证程序是否做到了合适的处理。边界值分析法一般是作为等价类的补充,来加强测试功能实现的程度与健壮性保障的程度,是否符合规格。
3、错误推测法
在测试的时候就算我们使用了等价类划分法和边界值分析法,也很可能会遗漏一些需求中没有清晰提出,技术上比较隐蔽的错误。这种错误就需要测试人员通过已有的经验、对功能实现可能的方法的理解或直觉,来推测出软件中可能存在的各种错误与场景,然后编写测试用例来进行验证,这就叫做错误推测法。比如,登录超时后,某个需要权限操作的功能在使用的时候,是否跳到了登录页,还是直接报错,甚至说依旧可以操作。这种错误是需要测试人员一定的经验、技术积累与直觉的。
二、非功能性需求:指的是用户无法直接体验到的,非具体功能性的需求,但这种非功能性需求在做功能性测试的时候也会涉及到,因为很多非功能性的需求会影响到功能的可用性与用户体验,比如性能测试。
1、兼容性测试
兼容性指的是开发的软件是否在各种平台都可以使用。比如我们开发一个网站,我们的用户可能会用到各种不同的浏览器访问我们的网站。这样我们在测试的时候,就不能只考虑到某一种浏览器。我们需要考虑到多种浏览器的兼容性。
2、安全性测试
我们的测试人员还需要关注到开发软件的安全性。这涉及到:用户隐私信息是否加密;需要权限的资源是否有没有权限也可以被拿到的风险;会不会受到跨站脚本的攻击;会不会受到sql注入攻击等等。
3、压力测试
测试人员也需要考虑的软件是否能够承载其需求所需的压力,例如:软件是否能在合理的时间内响应用户行为;软件是否可能承载足够的请求;软件在处理大数据量时会不会产生资源锁死。
在软件测试过程中,如果测试用例设计不全面,就会导致测试结果出现严重的偏差,甚至影响整个产品的研发周期。因此作为软件测试工程师一定要注重测试用例的设计。尤其对于新手,刚开始做测试工作时一定要注重积累和学习。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
软件测试师要掌握哪些知识?自学软件测试要多久?
软件测试师要掌握哪些知识?自学软件测试要多久?一个合格的软件测试师,要掌握基础功能测试、接口自动化、Web端自动化、移动自动化、性能测试,还要做到从理论学习到实践练习。这个过程自学的话要看个人资质,快的话差不多一年,慢的话好几年都不一定能掌握。强烈建议初学者报博学谷的软件测试就业班课程,最多只需要半个年就能学好软件测试。下面我们来一起看看博学谷的软件测试就业班课程内容。
5230
2019-08-27 16:37:40
软件测试基础学习需要了解哪些内容?
软件测试,描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。近两年来,随着互联网的快速发展,软件系统变得越来越复杂。那么软件测试基础学习需要了解哪些内容呢?
4758
2020-05-04 16:08:55
从事软件测试为什么要学自动化?
相信许多对软件测试有过一点了解的人,对自动化都不会感到陌生。我们常常会听到一定软件测试人员一定要学自动化的说法,那么很多人都会有这样的疑问,从事软件测试为什么要学自动化?事实上,如今只会功能测试的从业者往往还处于这个行业的初级阶段,要想提升个人能力,实现升职涨薪的目标就必须不断充实自己,学习市场最前沿的测试技术。
5641
2020-04-08 11:38:55
软件测试中白盒测试的优缺点是什么?
白盒测试的优缺点总结,白盒测试在计算机领域行业用以检查程序的状态,确定实际运行状态与预期状态是否一致。白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。
8844
2020-06-01 15:26:51
软件测试员如何进行产品测试?
一般来讲,当软件成为一个成功的产品后,产品测试工作就会复杂很多。比如拥有的用户量大,迭代频繁,测试的周期短,重复性强。面对紧张复杂的产品测试工作,软件测试员应怎样完成这一系列的测试工作呢?下面给大家介绍两种产品测试方法,形成产品测试知识体系和开发自动化测试脚本。
4892
2020-07-31 15:25:25