欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

软件测试感想(一)

程序员文章站 2022-03-10 14:49:02
...
	一个简单的注册登录用例,就整理出了进100条用例,测试真的是无穷无尽的....
	
	以下是用思维导图整理出来的,复制过来有些乱,供大家参考:
	
	业务需求
软件功能需求
	1.用户注册功能
	2.用户登录功能
	3.用户账号后台管理
测试需求
	1.用户登录的功能
	2.用户登录的安全性
	3.用户登录的兼容性
	4.用户登录的性能
测试用例
	1.功能测试用例集
		1.显性功能验证
			1.登录的正确性
				1.用户名、密码正确
					1.账号在
				2.验证码功能
					1.输入正确的用户名、正确的密码、正确的验证码
						登录成功
			2.登录异常
				1.输入错误情况检测
					4.已注册的账户、错误的密码登录
					5.未注册的账户、正确的密码
					3.账号、密码都错误
				2.为空检测
					1.账号和密码都为空时验证
						登录失败,且提示信息正确;
					2.账号和密码两者之一为空时
						登录失败,且提示信息正确;
				3.其他功能无效检测
					1.找回密码功能是否有效
					2.记住密码是否有效
					3.自动登录
				4.验证码功能验证
					1.输入账号、密码正确,但验证码错误:
						登录失败,且提示信息正确
				同样的账号同时登录;
		2.隐性功能验证
			1.用户名和密码是否大小写敏感?
			2.页面上的密码框是否加密显示?
			3.后台系统创建的用户第一次登录成功时,是否提示修改密码?
			4.忘记用户名和忘记密码的功能是否可用?
			5.前端页面是否根据设计要求限制用户名和密码长度?
			6.如果登录功能需要验证码,点击验证码图片是否可以更换验证码,更换后的验证码是否可用?
			7.刷新页面是否会刷新验证码?
			8.如果验证码具有时效性,需要分别验证时效内和时效外的有效性;
			9.用户登录成功后但是会话超时后,继续操作是否会重定向到用户登录界面?
			10.不同级别的用户,比如管理员用户和普通用户,登录系统后的权限是否正确?
			11.页面默认焦点是否定位在用户名的输入框中;
			12.快捷键Tab和Enter等,是否可以正常使用?
			账号
				1.是否可以使用登录的API发送登录请求,并绕开验证码校验。
			密码
				1.密码是否支持特殊字符和中文等。
				2.密码强弱性校验,数据库和数据操作时候合理等。
				3.没劲是否有明文和暗文两种模式(有时候只有暗文显示真的不知道自己的密码是否输入正确。)
				4.更改密码后,是否还能用之前的密码登录?
				5.若支持手机号+验证码登录,验证码是否有时间限制?移动端设备是否可以直接获取验证码?
				6.输入账号密码时对键盘格式是否有要求比如数字键盘;
				7.密码一栏需要设置明暗切换?
				8.输入账号密码格式不规范时是否将按钮设置为不可点击;
				9.输入栏是否设置快速删除按钮?
			登录
				1.是否可以用抓包工具抓到请求包直接登录?
				2.截取到的token等信息,是否可以在其他终端上直接使用,绕开登录,token过期时校验。
				3.除了前端校验格式长度等,后端是否也校验?
				4.登录后输入登录URL,是否还能再次登录?如果能,原登录用户是否变得无效。
				5.登录错误后的提示是否有安全隐患。
				6.登录失败后第二次登录
					1.输入正确的用户名和错误的密码登录失败后,再次输入正确的密码登录并观察登录情况。
					2.输入正确的用户名和不输入密码登录失败后,再次输入正确的密码并观察登录情况。
					3.输入未注册的用户名和任意密码登录失败后,再次输入正确的用户名和密码,观察登录情况。
				7.修改密码后:
					1.修改密码后是否重定向登录到界面?
					2.修改密码后,分别使用原密码和新密码登录。
					3.在其他终端修改密码后,本终端是否自动下线?下线后,使用原密码能否继续登录?
				8.退出登录
					1.退出登录是否有记住账号或记住密码功能?
					2.退出登录后,再次输入密码登录。
				9.数据同步
					1.第一次登录时,数据的同步情况,如个人头像,好友列表等。
					2.本终端切换其他账号登录后,数据的同步情况,日志记录情况,如:用户文件夹是否自动创建?
				10.账号互踢
					1.不同页面下被踢,如:后台运行时被踢,进入前台查看反应;前台运行一级、二级页面下被踢能否提示正确并重定向到登录页面?
					2.本终端被踢下线后点击登录能否再次登录。
				11.密码错误限制次数
					1.密码输入错误是否有最大次数限制?分别测试最大值-1、最大值、最大值+1的输错密码情况。
					2.超过最大次数限制后,是否采取强制手段限制登录或对账号暂时冻结处理。
					3.超过最大次数限制后,分别输入正确的密码和错误的密码再次登录。
				12.不同状态的用户登录
					1.未**的用户登录。
					2.被停用的用户登录。
					3.登录的操作日志记录是否准确?
					4.登录有效性是否控制正确?
				13.一个用户是否具备多种登录方式(用户名,手机号,邮箱...)
				14.用户名和密码是否对空格敏感。
			16.为空和输入空字符串时的校验是否一致?
			17.使用中文键盘输入字母时和使用英文键盘输入字母时传给后端的字符长度是否一致?
			18.登录成功后的Session时效设置。
			19.是否用到缓存?
	2.安全测试用例集
		1.用户密码后台存储是否加密?
		2.用户密码在网络传输过程中是否加密?
		3.密码是否具有有效期,密码有效期到期后,是否提示需要修改密码?
		4.不登录的情况下,在浏览器中直接输入登录后的URL地址,验证是否会新定向到用户登录界面;
		5.密码输入框是否不支持复制和粘贴?
		6.密码输入框输入的密码是否都可以在页面源码模式下被查看?
		7.用户名和密码的输入框中分别输入典型的“SQL注入攻击”字符串,验证系统的返回页面;
		8.用户名和密码的输入框中分别输入典型的“XSS跨站脚本攻击”字符串,验证系统行为是否被篡改?
		9.连续登录多次失败的情况下,系统是否会阻止后续的尝试以应对暴力**?
		10.同一用户在同一终端的多种浏览器上登录,验证登录功能的互斥性是否符合设计预期?
		11.同一用户先后在多台终端的浏览器上登录,验证登录是否具有互斥性?
		12.网络延迟或者弱网切换网络或者断网时正常登录是否正常?
		13.是否可记住密码,记住的密码保存是否加密?
		14.用户登录后存储在数据库中的用户个人信息是否加密?
		15.用户登录过程中log中是否有个人信息明文打印。
		16.本终端用户已登录,在其他终端尝试登录本用户账号登录失败时、本终端是否有账号异常操作的安全提示?
		17.输入密码时是否有安全键盘模式?点击密码输入框是否能调起安全键盘?(参考各大手机银行APP)
		19.网络相关
			1.无网络模式下登录,是否给出“网络未连接”或 “网络异常”的提示及提示是否正确?
			2.第一次登录请求超时后(服务器出问题,随后恢复正常),再次请求是否能登录成功?
			3.第一次无网络情况下登录失败后,再次连接网络并登录。
			4.正在登录过程中,遇到网络切换,如(4G切换到WiFi环境时)能否正常登录。
		20.已登录的用户,杀死APP进程后,再次打开APP是否依然为已登录状态。
		21.异地登录校验、更换设备登录校验、登录信息异常是否考虑账号冻结停用;是否允许第三方工具平台存储密码?
		22.
	3.兼容性测试用例集
		1.不同浏览器下,验证登录页面的显示以及功能正确性?
		2.相同浏览器的不同版本下,验证登录页面的显示以及功能正确性?
		3.不同移动设备终端的不同浏览器下,验证登录页面的显示以及功能正确性。
		4.不同分辨率的界面下,验证登录页面的显示以及功能正确性。
	4.性能测试用例集
		1.单用户登录的响应时间是否小于3秒?
		2.单用户登录时,后台请求数量是否过多?
		3.高并发场景下用户登录的响应时间是否小于5秒?
		4.高并发场景下服务端的监控指标是否符合预期?
		5.高集合点并发场景下,是否存在资源死锁和不合理的资源等待?
		6.长时间大量用户连续登录和登出,服务器端是否存在内存泄漏?
		7.登录用户限制:同时支持10个用户登录,同时9个或者11个用户登录是否正常或者提示信息正确。


	测试真的是不易啊,且行且珍惜,向长久从事测试行业的前辈致敬!


		希望大家多提宝贵意见,共同进步,谢谢!