一、工作流程?测试计划、测试用例、测试报告都包含什么内容?
工作流程如下:
测试计划:
1).应该做什么(了解需求)
2).怎么去做(测试方案,测试方法,测试工具,测试人员,测试环境)
3).什么时候做(测试进度安排)
4).风险控制(标准的定义:包括BUG等级的定义,软件测试通过标准的定义等)
测试用例:
项目名称 功能模块名 功能特性 测试目的 预置条件 参考信息 版本号 编制时间 测试编号 测试用例名称 重要级别 测试类型 操作步骤 作者 备注
测试报告:
二、测试用例设计思路
功能方面考虑:根据业务流程、功能逻辑使用等价类划分、边界值、错误推测等测试方法设计
系统方面考虑:兼容性测试(浏览器、操作系统、手机机型)、应用环境(网络)、性能测试(数量的考虑)、时序
安全性方面:SQL注入、特殊字符
三、工作中遇到过什么问题 是怎么解决的
因人而异,最好让面试官体会到你能积极主动的沟通解决问题
四、web测试与APP测试有什么相同之处和不同之处
1、相同点
不管是传统行业的web测试,还是新兴的手机app测试,都离不开测试的基础知识,即是不管怎么变,测试的原理依然会融入在这两者当中。
1)设计测试用例时,依然都是依据边界值分析法、等价类划分等;
2)多数采用黑盒的测试方法,来验证业务功能是否得到正确的应用;
3)需要检查界面的布局、风格和按钮等是否简洁美观、是否统一等;
4)测试页面载入和翻页的速度、登录时长、内存是否溢出等;
5)测试应用系统的稳定性等。
2、不同点
相对于web测试,手机软件测试,除了要考虑基本的功能测试、性能等,还要考虑手机本身固有的属性特征。所以对比web测试和手机测试,手机测试过程中还需要注意如下几个方面特性:
1)手机作为通信工具,来电、去电、接收短信等操作都会对app应用程序产生影响,所以app测试第一个要考虑的属性特征是:中断测试。
中断测试有人为中断、新任务中断以及意外中断等几种情况,主要从以下几个方面进行验证:
a.来电中断:呼叫挂断、被呼叫挂断、通话挂断、通话被挂断
b.短信中断:接收短信、查看短信
c.其他中断:蓝牙、闹钟、插拔数据线、手机锁定、手机断电、手机问题(系统死机、重启)
2)手机用户对app产品的安装卸载操作:从上一个版本/上两个版本直接升级到最新版本。
全新安装新版本
新版本覆盖旧版本安装
卸载旧版本,安装新版本
卸载新版本,安装新版本
3)版本的升级测试
4)手机不同机型和不同系统的适配:可以用monkey
5)APP打开速度的测试:让开发写个测试脚本在客户端,监控一下服务器响应后回到客户端显示的时间
6)APP安装速度的测试
7)手机网络测试:2G/3G/4G/wifi 等网络下APP的运行情况
8)APP占用的手机cpu、内存及电池温度、耗电量、流量的测试:Emmage
使用步骤:
- 很简单,就是安装Emmage了
- 运行Emmage,设置采样的时间间隔,例子是10S采集一次的,当然你也可以选择1S。
- 选择要测试的移动应用。
- 开始测试。
- 开始测试之前,其实会准备好一系列要跑的想法,一般我是按照Tab来分,性能测试呢主要目地是检测常用的一些功能在手机端的性能表现,当然也可以真对某个功能反复的测试,原理是相通的,所以。。。
- 开始测试之后,就会启动我们要测试的应用。
- 按照料想的方式进行操作应用,并记录大概的时间点。
- 操作应用完成之后,结束测试,
- Emmagee就自动生成了报表,取出来可以进行下一步的分析。
9)web自动化测试使用的工具较常用的是QTP,而android手机自动化测试工具比较常用的是monkey、monkeyrunner。
五、报bug都包含哪些内容
1)bug的简单描述
2)操作步骤、期望结果、实际结果、特殊数据/特定环境、错误截图/错误日志
六、性能测试是如何做的 监控哪些指标
见性能测试思路及性能测试课堂笔记
七、LR常用函数
一、关联函数:
web_reg_save_param("关联名称","LB=左边界","RB=右边界","Ord=1",
"Search=NoResource",LAST);
二、检查点函数:
web_reg_find("Fail=NotFound","Search=Body","SaveCount=regcheck(统计参数名)",
"Text=需查找的文本",LAST);
三、添加集合点:
lr_rendezvous("集合点名称");
注意:集合点应放在事务外,否则将影响事务处理时间的统计;
集合点策略在controller场景中进行设置。
四、LR脚本其他常见函数格式:
1、web_link("网站或链接名称","Text=需要单击的链接名","Ord=2(存在多个同名链接时需要指定位置)",LAST);
2、web_url("网站或链接名称","URL=网站或链接地址",……,LAST);
3、web_submit_form("login.pl",
"Snapshot=t3.inf",
ITEMDATA,
"Name=username","Value=admin",ENDITEM,……LAST);
该函数会自动检测在当前页面上是否存在form,然后将后面的ITEMDATA数据进行传递;
4、web_submit_data("login.pl",
"Action=网站URL",
"Method=POST",
ITEMDATA,……,LAST);
八、环境的搭建 部署
Linux操作环境的常用命令:
安装命令:rpm yum tar
其它命令:mkdir 创建 cp 复制 mv 移动 cat 打开文本 rm 删除 killall 杀进程 chmod 改变文件的权限 chown 改变文件所有者
九、SQL语句 至少连表查询
例句:
1.图书(图书号、图书名、作者编号、出版社、出版日期),作者(作者姓名、作者编号、年龄、性别),用一条SQL语句查询年龄小于平均年龄的作者姓名、图书名、出版社。
select a.作者姓名,b.图书名,b.出版社 from 作者 a join 图书 b on a.作者编号=b.作者编号 where a.年龄<(select AVG(年龄) from 作者)
2.升序降序查询:ORDER by 字段名 DESC(降序)/ASC(升序)
3.删除:DELETE
4.更新:Update
5.从第五行开始查,查5行:select * from 表 LIMIT 4,5;
6.分组:group by
十、Monkey命令 :(详见Money知识篇)
adb shell monkey-p 包的签名 -v -v (日志) --ignore crashes/timeout (异常处理)--pct-touch (动作百分比)
十一、Linux下数据库的使用
数据库操作命令:
连接数据库:MySQL-h-u 用户名-p 密码
修改密码:mysqladmin -u用户名 -p旧密码 password 新密码
常用:Use、 Create 、Show databases、 Show tables、 Drop 、Delete、 Insert
十二、接口测试是怎么做的
接口验证和数据库验证 :验证接口的连通性及输入参数后的返回结果是否正确;链接数据库(先驱动数据库、在连接、查询、关闭数据库)查询是否插入相应的数据
十三、Java冒泡程序(可参考)
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
冒泡排序算法的运作如下:
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
代码
1 public class BubbleSort{ 2 public static void main(String[] args){ 3 int score[] = {67, 69, 75, 87, 89, 90, 99, 100}; 4 for (int i = 0; i < score.length -1; i++){ //最多做n-1趟排序 5 for(int j = 0 ;j < score.length - i - 1; j++){ //对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的) 6 if(score[j] < score[j + 1]){ //把小的值交换到后面 7 int temp = score[j]; 8 score[j] = score[j + 1]; 9 score[j + 1] = temp; 10 } 11 } 12 System.out.print("第" + (i + 1) + "次排序结果:"); 13 for(int a = 0; a < score.length; a++){ 14 System.out.print(score[a] + "\t"); 15 } 16 System.out.println(""); 17 } 18 System.out.print("最终排序结果:"); 19 for(int a = 0; a < score.length; a++){ 20 System.out.print(score[a] + "\t"); 21 } 22 } 23 }