1、自我介绍:
您好面试官,我是来面试贵公司的XXX岗位,我叫XXX来自XX省XX市,今年XX岁,我毕业于XXXX大学,专业计算机XXX专业。谈谈你的优缺点:我的优点是比较耐心,细心(对测试用例和缺陷能够重复去干)。我学习能力比较强,容易适应新的环境,我能够灵活应对突发事件,我最大的优点就是沟通技巧(测试比较着重于与开发和产品交流)。有时候我沉默寡言,喜欢独处和思考,我觉得这可能是我的缺点。两年前毕业我加入了XXX公司,做了XXX项目,在项目中负责XXX模块。我期望的薪资是多少k,(给个整数,忌讳说范围)。再说自己最低能接受薪资给个具体数字:关于薪金,留待您来决定,但我希望我每月能得到至少多少K。
2、日常测试工作怎么样进行的;
1.与整个团队一起开会评审讨论项目需求 2.运用用例设计方法在思维导图上编写测试点,并与整个团队评审测试点 3.根据测试点编写测试用例评审测试 4.冒烟测试,执行测试用例 5.在禅道上提交bug,评审bug 6.bug定位,对bug进行跟踪与回归 7.新版本后进行回归测试 8.提交测试报告
3、在小组中担任什么角色; web商城测试 A注册登录账号。功能测试:注册、登录的用例编写、评审、执行。登录、注册的接口测试,注册版本号检查登录时是否报错,登录状态是否跳转到首页或者指定界面,检查输入信息是否可以注册成功。测试登录输入用户名和密码,区分空字段特殊字符和超长字符和密码是否符合预期。考虑正向、负向的情况下,服务器的响应是否准确。性能测试:使用jmeter、fiddler进行500用户并发登录。 B仓储模块的功能测试。 商品库存管理、订单管理、仓库管理、入库管理。编写测试用例时对新增仓库信息功能点使用了等价类(有效、无效)的方法设计测试用例;执行测试时使用黑盒测试方法对各功能点进行增,删,改,查。查看实际结果是否与预期结果相符合,不符合预期需求将该bug提交到缺陷管理工具(禅道)上待开发人员修复,开发人员将缺陷修复好后打包回来进行回归测试,再验证缺陷是否已经修复成功,且没有产生其他的缺陷。项目结束后编写测试报告提交至测试组长 C购物车下单支付退款模块。用户并发支付(秒杀)购物车下单的性能测试,查看服务器90%响应时间、错误率、TPS、监控服务器CPU、内存、磁盘等性能指标。正常业务流程和功能能否验证,是否通过测试或者等待开发修复,验证各种支付异常的检查反馈和提示,保证用户操作失误情况能够得到系统友好的指示,包括点击支付提交了订单但是取消了查看可以支付的方式是否可以政策支付。支付时结合优惠券折扣券和促销价抵扣去验证支付,使用边界值发去测试最大最小金额,进行支付中断测试和网络类型的测试,在弱网测试下支付功能是否正常,会不会重复支付或者闪退崩溃,而且页码会不会跳转成为支付成功,并对数据加密和安全支付检测。 4、测试环境怎么确认的;
搭建良好的测试环境是执行测试用例的前提,稳定和可控的测试环境,可以使测试人员花费较少的时间就完成测试用例的执行,也无需为测试用例、测试过程的维护花费额外的时间,并且可以保证每一个被提交的缺陷都可以在任何时候被准确的重现。 5、上线后怎么验证;
1、 进行整体系统流程验证;
2、 持续关注UMP、Risk、JSF、JMQ、后台日志等相关监控系统信息(至少15分钟),各系统监控信息均保持平稳,则代表上线成功;
3、 邮件回复或通报本次成功上线的内容;
4、 评估上线过程中测试所用的数据是否需要还原或清除;
6、测试过程中涉及多个系统的,其他系统的技术有没有时间协助,你是怎么解决的;
7、之前做的系统都是XX方向的,换作其他系统会怎么样;
8、简历中写到的项目会问; 9、测试用例的设计方法; 等价类划分法、边界值分析法、错误推测法、判定表法、正交实验法。 等价类划分,就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出若干个有代表性的值作为测试用例。 边界值分析法,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。选出的测试用例,应选取正好等于、刚刚大于、刚刚小于边界的值。 错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。 这种方法没有固定的形式,依靠的是经验和直觉,很多时候,我们都会不知不觉的使用到。 判断表法,称为策略表,基于策略表的测试,是功能测试中最严密的测试方法。该方法适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略表。 正交实验法,用语言描述正交实验法会很抽象难懂,简单说,就是在各因素互相独立的情况下,设计出一种特殊的表格,找出能以少数替代全面的测试用例。 10、数据库增删改查sql; 创建数据库:create database 数据库名称; 查询所有数据库:show databases; 删除数据库:drop database 数据库名称; 选中数据库:use database; ———————————————— 创建表:create table if not exit table名; 查询所有表:show tables; 查询表详情:show create table 表名; 查看表结构:desc 表名; 删除表:drop table 表名; 修改表名:rename table 原表名 to 新表名; 修改表引擎和字符集:alter table 表名 engine=innodb/myisam charset=gbk; 添加表字段(在最后):alter table 表名 add 字段名 字段类型; 添加表字段(最前面):alter table 表名 add 字段名 字段类型 first; 添加字段(某个字段后添加):alter table 表名 add 字段名A 字段A类型 after 字段名B; 删除表字段:alter table 表名 drop 字段名; 修改表字段名称和类型:alter table 表名 change字段名 原字段名 新字段名 新类型; ———————————————— delete from 表名 where 字段名=值; insert into 表名 values (字段1值,字段2值); update 表名 set 字段名=值1 where 字段名=值2; #查询所有:select * from 表名 ———————————————— #案例:查询学生表数据并以id降序、年龄升序排序 select * from student order by id desc,age; #案例 求分数表中分数平均值 SELECT AVG(a.score) FROM table_socre as a; sum(a.score) max(a.score) min(a.score) count(a.score) ———————————————— #案例 以title字段分组,查询每个分组中score的最大值 SELECT t.t.title,MAX(score) FROM table_socre t GROUP BY t.title; #案例已title字段分组,查询每个分组中最大值用,最大值必须大于20来过滤数据 select t.t.title,MAX(score) FROM table_socre t GROUP BY t.title having MAX(score)>20; ———————————————— #查询员工以及他的上司的名称,由于上司也是员工,所以这里虚拟化出一张上司表 SELECT e.empName, b.empName FROM t_employee e LEFT JOIN t_employee b ON e.bossId = b.id;
#案例 查询员工工资最低的员工信息,由于可能最低有多个员工,所以需要先查询出最低工资 SELECT * FROM employees WHERE salary=( SELECT MIN(salary) FROM employees );
———————————————— 条件查询: #案例 查看图书表中图书id大于2的图书信息 SELECT * FROM book WHERE book_id>2 #案例1:查询图书借阅表中用户id和图书id都为1的图书信息 SELECT * FROM book_borrow WHERE user_id=1 AND book_id=1; ##案例2:查询图书借阅表中用户id为1或者图书id为1的图书信息 SELECT * FROM book_borrow WHERE user_id=1 OR book_id=1;
案例1 查询图书借阅表中读者id在1,2,3范围内 SELECT * FROM book_borrow WHERE user_id in (1,2,3); #字段 between 值1 and 值2; 字段在值1和值2之间
#案例1:查询图书借阅表中读者id在1-2范围内,包含1和2 SELECT * FROM book_borrow WHERE user_id BETWEEN 1 AND 2;
案例1 查询图书表中图书名字为两个字符,且图书名第一个字为三的图书信息 SELECT * FROM book WHERE book_name LIKE ‘三_’;
案例2 查询图书表中图书名以天才开头的图书信息 SELECT * FROM book WHERE book_name LIKE ‘天才%’;
#案例 查看图书借阅表中归还时间为空的借阅记录 SELECT * FROM book_borrow WHERE return_time is NULL; 11、常用linux命令 cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。 cat -n textfile1 > textfile2 //把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里 touch +文件名 #将文件的创建时间改为当前时间,文件不存在则建之 tail -f tet 滚动查看名字为tet的文档内容,不进入编辑界面 tail -f 1000 tet 滚动查看最后1000行文档内容 history #查看所有执行过的命令 ———————————————— cd #root根目录 cd / #系统根目录 cd …/…/ #返回上上一层目录 ———————————————— ls -a (–all) #列出所有文件 ls -d (–directory) #列出目录 ls -i (–inode) #显示每个文件的inode 号(索引节点号,可以理解为文件的存储地址) ls -l (-long) #较长格式列出 ls -lh (–human-readable)与-l #人性化阅读输出 ———————————————— Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令 chmod a+r file1.txt //将文件 file1.txt 设为所有人皆可读取 chmod 777 file //chmod也可以用数字来表示权限 ———————————————— chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令。 chgrp -v bin log2012.log //改变文件的群组属性
cmp命令用于比较两个文件是否有差异。 cmp prog.o.bak prog.o //要确定两个文件是否相同 ———————————————— mdir命令用于显示目录。 find 命令用来在指定目录下查找文件 more 命令类似 cat ,不过会以一页一页的形式显示. more +20 testfile //从第 20 行开始显示 testfile 之文档内容。 ———————————————— rm(英文全拼:remove)命令用于删除一个文件或者目录。 cp(英文全拼:copy file)命令主要用于复制文件或目录。 mkdir aa #创建目录aa rmdir +目录名 #删除目录,注意必须是空目录 rmdir -p +目录/目录/目录 #删除指定目录及其上级文件夹 ———————————————— echo +文本内容 #显示文本 ping +ip/域名 #检测外网 tar -czvf +压缩文件名 源文件名 #将a1文件打包并且压缩 例:tar -czvf a1 g.gz tar zxvf +目标文件 #解压 例: tar zxvf ar_test.tar.gz 解压 ———————————————— cp file1 file2 #将文件file1复制成文件file2 cp -i file1 file2 #采用交互方式将文件file1复制成文件file2 cp -p a.txt tmp/ #复制时保留文件属性 ————————————————
ftp命令设置文件系统相关功能。 kill 命令用于删除执行中的程序或工作。 ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。 clear命令用于清除屏幕。 vim 文本名 #编辑某文本 :输入冒号可以输入文档相关的指令 wq 表示保存并退出 q 表示退出 q! 强制退出,不保存修改的内容 shutdown -h now或/poweroff或halt #立刻关机 ssh 用户@ip地址 #远程ssh连接某主机 useradd 用户名 #添加某用户 用户名 passwd #为某用户添加密码 useradd -r 用户名 #添加系统用户 useradd -d 路径 用户名 #添加用户,并且指定,home目录 ————————————————
12、postman工具 一款支持http协议的接口调试与测试工具,其主要特点就是功能强大,使用简单且易用性好 。 无论是开发人员进行接口调试,还是测试人员做接口测试,postman都是我们的首选工具之一 基础功能
常见类型的接口请求 接口响应数据的解析 接口管理(Collection)
批量执行接口请求 日志调试 断言 变量 请求前置脚本 接口关联 常见的返回值获取
便捷功能快 速填写查询参数 快速填写请求头信息 快速实现添加一个请求 如何继承集合认证 批量断言 快速查询和替换
高级功能 读取文件进行参数化 生成测试报告 代码中发送请求 编写接口文档
mock服务 监控 使用工作空间 代码同步与分支管理 连接数据库 apis
13、抓包工具等 用一些抓包工具抓取发送给服务器的请求,观察下它的请求时间还有发送内容等等,有时候, 可能还会用到这个去观察某个页面下载组件消耗时间太长,找出原因,要开发做性能调优。 Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。 wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。 为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。 wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是处理HTTP,HTTPS 还是用Fiddler, 其他协议比如TCP,UDP 就适合wireshark。
|