如何测试一个使用的登录场景
转载自:hts://wwwssblogsss/Abby123wen/p/11102441.html
可能你会说,“用户登录” 那个测试对象也有点儿太简略了吧?我只有找个用户,让他正在界面上输入用户名和暗码,而后点击 “确认” 按钮,验证以下能否登录乐成绩可以了。确真,那形成为了一个最根柢、最典型的测试用例,那也是末端用户正在运用系统时最典型的 Happy Path 场景。
但是做为测试工程师,你的目的是要担保系统正在各类使用场景下的罪能是折乎设想要求的,所以你须要思考的测试用例就须要更多、更片面,于是你可能会依据 “用户登录” 罪能的需求形容,联结等价类分别和边界值阐明办法来设想一系列的测试用例。
这什么是等价类分别和边界值阐明办法呢?首先,那二者都隶属于最罕用、最典型、也是最重要的黑盒测试办法。
等价类分别办法,是将所有可能的输入数据分别红若干个子集,正在每个子会合,假如任意一个输入数据应付揭发步调中潜正在舛错都具有划一成效,这么那样的子集就形成为了一个等价类。后续只有从每个等价类中任意选与一个值停行测试,就可以用少质具有代表性的测试输入得到较好的测试笼罩结果。
边界值阐明办法,是选与输入、输出的边界值停行测试。因为但凡大质的软件舛错是发作正在输入或输出领域的边界上,所以须要对边界值停行重点测试,但凡选与正好就是、方才大于或方才小于边界的值做为测试数据。
罪能测试用例从办法论上可以看出来,边界值阐明是平等价类分别的补充,所以那两种测试办法常常联结起来运用。
如今,针对 “用户登录” 罪能,基于等价类分别和边界值阐明办法,咱们设想的测试用例蕴含:
列出那些测试用例后,你可能曾经感觉比较折意了,因为你觉得曾经把原人的测试知识都用正在那些用例设想中了。确真,上面的测试用例集曾经涵盖了次要的罪能测试场景,但是正在一个良好的测试工程师眼里,那些用例只能抵达勉强折格的范例。
什么?才方才折格?假如你有那个想法,这我倡议你正在继续看下面的内容前,先认实考虑一下,那些测试用例能否实的还须要补充。
如今,我跟你分享一下有经历的测试工程师会再删多的测试用例:
1.用户名和暗码能否大小写敏感; 2.页面上的暗码框能否加密显示; 3.靠山系统创立的用户第一次登录乐成时,能否提示批改暗码; 4.忘记用户名和忘记暗码的罪能能否可用; 5.前端页面能否依据设想要求限制用户名和暗码长度; 6.假如登录罪能须要验证码,点击验证码图片能否可以改换验证码,改换后的验证码能否可用; 7.刷新页面能否会刷新验证码; 8.假如验证码具有时效性,须要划分验证时效内和时效外验证码的有效性; 9.用户登录乐成但是会话超时后,继续收配能否会重定向到用户登录界面; 10.差异级其它用户,比如打点员用户和普通用户,登录系统后的权限能否准确; 11.页面默许中心能认可位正在用户名的输入框中; 12.倏地键 Tab 和 Enter 等,能否可以一般运用。看完那些用例,你可能会说:“哇塞,本来一个简简略单的登录罪能居然有那么多须要测试的点”。但是,你别欢愉得太早,“用户登录罪能的测试还没完毕。
尽管改制后的测试用例集相比之前的测试笼罩率确真曾经进步了不少,但是站正在资深测试人员的角度来看,另有不少用例须要设想。
经我那么一说,你可能曾经发现,上面所有的测试用例设想都是环绕显式罪能性需求的验证开展的,换句话说,那些用例都是间接针对 “用户登录” 罪能的罪能性停行验证和测试的。
但是,一个量质过硬的软件系统,除了显式罪能性需求以外,其余的非罪能性需求即隐式罪能性需求也是极其要害的。
显式罪能性需求(Functional requirement)的含意从字面上就可以很好地了解,指的是软件自身须要真现的详细罪能, 比如 “一般用户运用准确的用户名和暗码可以乐成登录”、“非注册用户无奈登录” 等,那都是属于典型的显式罪能性需求形容。.
这什么是非罪能性需求(Non-functional requirement)呢?从软件测试的维度来看,非罪能性需求次要波及安宁性、机能以及兼容性三激动慷慨大方面。 正在上面所有的测试用例设想中,咱们彻底没有思考对非罪能性需求的测试,但那些往往是决议软件量质的要害因素。
大皂了非罪能性需求测试的重要性后,你可以先考虑一下还须要设想哪些测试用例,而后再来看看我会给出哪些用例,相信那种方式对你的协助会更大。
安宁性测试用例蕴含: 1.用户暗码靠山存储能否加密; 2.用户暗码正在网络传输历程中能否加密; 3.暗码能否具有有效期,暗码有效期到期后,能否提示须要批改暗码; 4.不登录的状况下,正在阅读器中间接输入登录后的 URL 地址,验证能否会从头定向到用户登录界面; 5.暗码输入框能否不撑持复制和粘贴; 6.暗码输入框内输入的暗码能否都可以正在页面源码形式下被查察; 7.用户名和暗码的输入框中划分输入典型的“SQL 注入打击”字符串,验证系统的返回页面; 8.用户名和暗码的输入框中划分输入典型的“XSS 跨站脚原打击”字符串,验证系统止为能否被窜改; 9.间断多次登录失败状况下,系统能否会阻挡后续的检验测验以应对暴力破解; 10.同一用户正在同一末实个多种阅读器上登录,验证登录罪能的互斥机能否折乎设想预期; 11.同一用户先后正在多台末实个阅读器上登录,验证登录能否具有互斥性。 机能压力测试用例蕴含: 1.单用户登录的响应光阳能否小于 3 秒; 2.单用户登录时,靠山乞求数质能否过多; 3.高并发场景下用户登录的响应光阳能否小于 5 秒; 4.高并发场景下效劳实个监控目标能否折乎预期; 5.高汇折点并发场景下,能否存正在资源死锁和分比方理的资源等候; 6.长光阳大质用户间断登录和登出,效劳器端能否存正在内存泄漏。 兼容性测试用例蕴含: 1.差异阅读器下,验证登录页面的显示以及罪能准确性; 2.雷同阅读器的差异版原下,验证登录页面的显示以及罪能准确性; 3.差异挪动方法末实个差异阅读器下,验证登录页面的显示以及罪能准确性; 5.差异甄别率的界面下,验证登录页面的显示以及罪能准确性。说到那里,你还会感觉 “用户登录” 罪能的测试很是简略、不值一提么?一个看似简略的罪能测试,居然涵盖了如此多的测试用例,除了要笼罩明白的罪能性需求,还须要思考其余诸多的非罪能性需求。
此外,通过那些测试用例的设想,你也可以发现,一个良好的测试工程师必须具有很广阔的知识面,假如你不能对被测系统的设想有深刻的了解、不大皂安宁打击的根柢本理、没有把握机能测试的根柢设想办法,很难设想出 “对症下药” 的测试用例。
看完了那些测试用例,你可能会说另有一些遗漏的测试点没有笼罩到,那个罪能的测试点还不够片面。这么,接下来我再跟你说说测试的不成穷尽性,即绝大大都状况下,是不成能停行穷尽测试的。
所谓的 “穷尽测试” 是指包孕了软件输入值和前提条件所有可能组折的测试办法,完成穷尽测试的系统里应当不残蝉联何未知的软件缺陷。 因为假如有未知的软件缺陷,你可以通过作更多的测试来找到它们,也便是说你的测试还没有穷尽。
但是,正在绝大大都的软件工程理论中,测试由于受限于光阳老原和经济老原,是不成能去穷尽所有可能的组折的,而是给取基于风险驱动的形式,有所侧重地选择测试领域和设想测试用例,以寻求缺陷风险和研发老原之间的平衡。
总结首先,应付高量质的软件测试,用例设想不只须要思考明白的的显式罪能性需求,还要波及兼容性、安宁性和机能等一系列的非罪能性需求对软件系统的量质有着无足轻重的做用。
其次,良好的测试工程师必须具有广阔的知识面,威力设想出有针对性、更易于发现问题的测试用例。
最后,软件测试的用例设想是不成穷尽的,工程理论中难免受制于光阳老原和经济老原,所以良好的测试工程师须要统筹缺陷风险和研发老原之间的平衡。