您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

软件测试:一个登录页面有哪些测试点?

时间:2019-12-10 13:16:21  来源:  作者:

可能你会说,"用户登录"这个测试对象也有点太简单了吧,我只要找一个用户,让他在界面上输入用户名和密码,然后点击"确认"按钮,验证一下是否登录成功就可以了。的确,这构成了一个最基本、最典型的测试用例,这也是终端用户在使用系统时最典型的HAppy Pass场景。

但是作为测试工程师,你的目标是要保证系统在各种应用场景下的功能是符合设计要求的,所以你需要考虑的测试用例就需要更多、更全面。于是你需要根据"用户登录"功能的需求描述,结合以下5个知识点来设计一系列的测试用例。

知识点1:等价类划分法,是将所有可能的输入数据划分成若干个子集,在每个子集中,如果任意一个输入数据对于揭露程序中潜在错误都具有同等效果,那么这样的子集就构成了一个等价类。后续只要从每个等价类中任意选取一个值进行测试,就可以用少量具有代表性的测试输入取得较好的测试覆盖结果。

知识点2:边界值分析法,是选取输入、输出的边界值进行测试。因为通常大量的软件错误是发生在输入或输出范围的边界上,所以需要对边界值进行重点测试,通常选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据。

知识点3:显式功能性需求(Functional requirement),指的是软件本身需要实现的具体功能, 比如"正常用户使用正确的用户名和密码可以成功登录"、"非注册用户无法登录"等,这都是属于典型的显式功能性需求描述。(测试用例1-20)

知识点4:非功能性需求(Non-functional requirement)从软件测试的维度来看,非功能性需求主要涉及安全性、性能以及兼容性三大方面。知识点5:"穷尽测试" 是指包含了软件输入值和前提条件所有可能组合的测试方法,完成穷尽测试的系统里应该不残留任何未知的软件缺陷。(不可能)

软件测试入门的敲门砖:一个登录页面有哪些测试点?

 

用户登录测试用例:

一、功能测试(Function test)

1、什么都不输入,点击提交按钮,看提示信息。(非空检查)

2、输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。(正常输入)

3、输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息。(错误校验)

4、登录成功后能否能否跳转到正确的页面(低)

5、用户名和密码,如果太短或者太长,应该怎么处理(安全性,密码太短时是否有提示)

6、用户名和密码,中有特殊字符(比如空格),和其他非英文的情况(是否做了过滤)

7、记住用户名的功能

8、登陆失败后,不能记录密码的功能

9、用户名和密码前后有空格的处理

10、密码是否加密显示(星号圆点等)

11、牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者),刷新或换一个按钮是否好用

12、登录页面中的注册、忘记密码,登出用另一帐号登陆等链接是否正确

13、输入密码的时候,大写键盘开启的时候要有提示信息

14、不同级别的用户,比如管理员用户和普通用户,登录系统后的权限是否正确

15、页面默认焦点是否定位在用户名的输入框中

16、快捷键 Tab 和 Enter 等,是否可以正常使用

 

二、界面测试(UI Test)

1、布局是否合理,2个testbox 和一个按钮是否对齐

2、testbox和按钮的长度,高度是否复合要求

3、界面的设计风格是否与UI的设计风格统一

4、界面中的文字简洁易懂,没有错别字。

 

三、性能压力测试(performance test)

1、单用户登录的响应时间是否小于 3 秒;

2、单用户登录时,后台请求数量是否过多;

3、高并发场景下用户登录的响应时间是否小于 5 秒;

4、高并发场景下服务端的监控指标是否符合预期;

5、高集合点并发场景下,是否存在资源死锁和不合理的资源等待;

6、长时间大量用户连续登录和登出,服务器端是否存在内存泄漏。

四、安全性测试(Security test)

1、登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)

2、用户名和密码是否通过加密的方式,发送给Web服务器

3、用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用JAVAscript验证

4、用户名和密码的输入框,应该屏蔽SQL注入攻击

5、用户名和密码的的输入框,应该禁止输入脚本 (防止XSS攻击)

6、错误登陆的次数限制(防止暴力破解)

7、考虑是否支持多用户在同一机器上登录;

8、考虑一用户在多台机器上登录

五、可用性测试(Usability Test)

1、是否可以全用键盘操作,是否有快捷键

2、输入用户名,密码后按回车,是否可以登陆

3、输入框能否可以以Tab键切换

 

六、兼容性测试(Compatibility Test)

1、主流的浏览器下能否显示正常已经功能正常(IE,6,7,8,9, Firefox, Chrome, Safari,等)

2、不同的平台是否能正常工作,比如windows, mac

3、移动设备上是否正常工作,比如iphone, Andriod

4、不同的分辨率

七、本地化测试 (Localization test)

不同语言环境下,页面的显示是否正确。

八、软件辅助性测试 (Accessibility test)

1、软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能

2、高对比度下能否显示正常 (视力不好的人使用)

九、其它测试

1、连续输入3次或以上错误密码,用记是否被锁一定时间(如:15分钟)?时间内不允许登录,超出时间点是否可以继续登录?

2、用户session过期后,重新登录是否还能重新返回这前session过期的页面?

3、用户名和密码输入框是事支持键盘快捷键?如:撤销、复制、粘贴等等

4、是否允许同名用户同时登录进行操作?考虑web和app同时登录

5、手机登录时,是否先判断网络可用?

6、手机登录时,是否先判断app存在新版本?

7、是否有埋点接口

 

总结

首先,对于高质量的软件测试,用例设计不仅需要考虑明确的显式功能性需求,还要涉及兼容性、安全性和性能等一系列的非功能性需求,这些非功能性需求对软件系统的质量有着举足轻重的作用。

其次,优秀的测试工程师必须具有宽广的知识面,才能设计出有针对性、更易于发现问题的测试用例。

最后,软件测试的用例设计是不可穷尽的,工程实践中难免受制于时间成本和经济成本,所以优秀的测试工程师需要兼顾缺陷风险和研发成本之间的平衡。



Tags:软件测试   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  Tags: 软件测试  点击:(20)  评论:(0)  加入收藏
漏测,相信对于每个测试同学而言,都是“谈虎变色”的事,但是实际工作中,我们稍有不谨慎便会和它来一次“亲密接触”。那么,现在我们一起来聊聊测试中的漏测。一、漏测可能会产生的...【详细内容】
2021-11-11  Tags: 软件测试  点击:(36)  评论:(0)  加入收藏
要实现Postman的数据驱动,主要分为五个大步骤第一步:什么是数据驱动?第二步:设计测试用例第三步: 在Postman中编写测试用例脚本第四步:分析脚本,设计数据文件,并通过参数化关联...【详细内容】
2021-06-23  Tags: 软件测试  点击:(99)  评论:(0)  加入收藏
介绍怎么做单元测试的书很多,这里主要解答:为什么单元测试。客观来说,单元测试和使用版本控制系统(GIT,SVN)是一样重要的。为什么单元测试如此重要,但你却感受不到。首先要知道,代...【详细内容】
2021-05-18  Tags: 软件测试  点击:(170)  评论:(0)  加入收藏
扼要:1、学会搭建monkeyrunner开发环境;2、学会使用monkeyrunner+python进行编写脚本;monkeyrunner是Android SDK自带的一个黑盒自动化测试工具。其支持java、python两种语言。...【详细内容】
2021-04-06  Tags: 软件测试  点击:(225)  评论:(0)  加入收藏
近期准备优先做接口测试的覆盖,为此需要开发一个测试框架,经过思考,这次依然想做点儿不一样的东西。 接口测试是比较讲究效率的,测试人员会希望很快能得到结果反馈,然而接口的数...【详细内容】
2021-04-01  Tags: 软件测试  点击:(210)  评论:(0)  加入收藏
不知不觉已经从事软件测试六年了,2006毕业到进入外包公司外包给微软做软件测试, 到现在加入著名的外企。六年的时间过得真快。 长期的测试工作也让我对软件测试有了比较深入的...【详细内容】
2021-03-08  Tags: 软件测试  点击:(190)  评论:(0)  加入收藏
自动化是一个老生常谈的话题,也是一个软件领域非常有技术广度和技术深度的活动,特别是在大型软件的生命周期上。 个人觉得开展自动化测试的难度不亚于传统意义上的软件开发。...【详细内容】
2021-01-06  Tags: 软件测试  点击:(154)  评论:(0)  加入收藏
应用程序或网站的功能测试是SDLC(软件开发生命周期)的最重要阶段之一。开发人员、测试人员、项目经理、运营人员,甚至管理人员都需要多多少少参与到整个项目的功能测试。测试工...【详细内容】
2020-12-07  Tags: 软件测试  点击:(97)  评论:(0)  加入收藏
一、引言随着数字化时代的到来,大量系统架构复杂、功能日益强大的嵌入式系统正不断进入市场,应用也日趋复杂,这对嵌人式软件的开发技术和测试技术提出了更高的要求。嵌人式系统...【详细内容】
2020-10-15  Tags: 软件测试  点击:(91)  评论:(0)  加入收藏
▌简易百科推荐
本文分为三个等级自顶向下地分析了glibc中内存分配与回收的过程。本文不过度关注细节,因此只是分别从arena层次、bin层次、chunk层次进行图解,而不涉及有关指针的具体操作。前...【详细内容】
2021-12-28  linux技术栈    Tags:glibc   点击:(3)  评论:(0)  加入收藏
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(2)  评论:(0)  加入收藏
程序是如何被执行的  程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(10)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(20)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(25)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(25)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条