关于测试基础可以看另一篇博客,以下专注技术问题,关于测试框架等等问题。
1.设计登陆注册的测试用例(根据输入输出各种情况判断)
登录:判断用户是否之前注册(密码/用户名/验证码)
输入/动作 | 期望结果 | 实际结果 |
输入用户名、密码正确 | 登录成功 | |
输入错误用户名、密码 | 给出提示语句“请输入正确的用户名和密码” | |
输入用户名不存在 | 给出提示语句“用户名不存在” | |
输入用户名或者密码含有非法字符 | 给出提示语句“用户名含有非法字符” | |
输入已被禁用用户 | 给出提示语句“您的用户名已经被禁用” | |
输入已被删除用户 | 给出提示语句“您输入的用户不存在” | |
输入密码含有非法字符 | 给出提示语句“输入用户名或密码错误” | |
输入用户或者密码大小写/空格/全半角敏感 | 给出提示语句“输入用户或密码错误” | |
输入为空 | 给出提示语句“输入用户名” | |
输入快捷键键敏感 | tab键切换密码或者用户栏 |
注册:(用户名/密码/确认密码/验证码)
输入/动作 | 期望输出 | 实际输出 |
输入用户名,密码为空提交 | 给出提示语句“请输入用户名密码” | |
输入已有用户名 | 给出提示语句“用户名已存在” | |
输入用户名含有特殊字符 | 给出提示语句“用户名存在非法字符” | |
输入密码和确认密码不一致 | 给出提示语句“两次密码输入不相同” | |
输入验证码错误 | 给出提示语句“验证码错误” | |
输入密码长度(超出/小于/正常) | 给出相应提示 |
SQL注入(安全性测试):就是指攻击者将恶意的字符串或者语句等信息作为参数输入,服务器在验证这个字段的时候,读取攻击者输入的数据,将其作为正常的值参与SQL语句的查询,以此对表格进行增加、删除、修改等操作。
应用场景:在含有输入数据表单的页面(登录界面、查询界面、反馈界面等),即使是hidden的表单也有可能存在这个问题;有用户信息、ID等的URL(类似于http://XXX/index.asp?ID=155),可以操作ID后的参数数据。
解决办法:可以考虑在需求中给出表单的类型,长度,以及取值范围及输入出错不提示任何代码或数据库信息(主要作用就是禁止输入敏感字符)
男的中kol为12%,女的中kol为8%,求一组男女人数相等的群体,抽出一个kol人,这个人是男生的概率
junit:JUnit 是一个 Java 编程语言的单元测试框架。每一项需求至少需要两个单元测试用例:一个正检验,一个负检验。如果一个需求有子需求,每一个子需求必须至少有正检验和负检验两个测试用例。
loadrunner:性能测试工具
testlink:是一个基于Web的测试管理工具。testLink将测试规约拆分为测试套件和测试用例,他们将会在整个应用中长期存在。一个测试项目只能包含一个测试规约。
jmeter:用于压力测试和性能测量。它最初被设计用于Web应用测试但后来扩展到其它测试领域。可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,Java对象,数据库和查询,FTP服务器或是其它资源)的性能进行测试。包括以下几个方面:
(1)负载发生器:用于产生负载,通常以多线程或是多进程的方式模拟用户行为。
(2)用户运行器:通常是一个脚本运行引擎,用户运行器附加在线程或进程上,根据脚本要求模拟指定的用户行为。
(3)资源生成器:用于生成测试过程中服务器、负载机的资源数据。
(4)报表生成器:根据测试中霍地的数据生成报表,提供可视化的数据显示方式。
http状态码:
100-199 用于指定客户端应相应的某些动作。
200-299 用于表示请求成功。
300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。
400-499 用于指出客户端的错误。
500-599 用于支持服务器错误。
6.ping公司局域网涉及到的协议 (DNS、ICMP、ARP、TCP)
1、因为ping的话 后面跟的是地址,所以要先将域名转换为ip地址,即用到了DNS
2、获取到ip地址后,在数据链路层是根据MAC地址传输的,所以要用到ARP解析服务,获取到MAC地址
3、ping功能是测试另一台主机是否可达,程序发送一份ICMP回显请求给目标主机,并等待返回ICMP回显应答,(ICMP主要是用于ip主机、路由器之间传递控制信息,控制信息是指网络通不通,主机是否科大)
4、TCP的话,不涉及数据传输