题目汇总
共293道题
目录
题目汇总 1
一. 技术类型题目:
二. 测试话术:
1.什么是兼容性测试?兼容性测试侧重哪些方面?
2.正交表测试用例设计方法的特点是什么?
3.简述一下缺陷的生命周期?
3.画出软件测试的V模型图。
4.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
5.请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。
6.你以前工作时的测试流程是什么?
7.描述一下Http协议
8.什么是测试计划?
9.测试计划包括哪些要素?
10.什么是测试报告?
11.测试报告包括哪些要素?
12.缺陷包括哪些要素?
13.Monkey测试的优点和缺点?
14.请详细阐述接口测试和UI测试在测试活动中是如何协同测试的?
15.请详述缺陷在管理工具中的状态转换
16.如何查看启动端口2222的服务?
17.查看本机是否已经安装TFTP软件,若已经安装,先删除后再安装;否则,先安装后再删除。写出实现上述操作的命令列表。
18.找出/etc下,文件大小介于50KB到60KB之间的文件,并列出文件的操作权限。
19.adb常用的指令
20.如何用adb快速查看电脑连接设备的状态?
21.如何用adb查看手机进程?
22.什么是手机Monkey测试?如何使用Monkey测试?
23.写一条完整的monkey测试指令
24.APP测试的稳定性
25.如何理解压力、负载、性能测试测试?
26.您以往是否曾经从事过性能测试工作?
27.adb 怎么过滤
28.Jmeter为什么要参数化
29.你用什么机器对服务器进行压力测试
30.使用Jmeter回放脚本的时候遇到的问题?
31.对于登陆你是怎么测得?
32.web端测试流程?
33.版本控制器使用的什么
34.常用查看服务器信息
35.Linux常用命令
36.什么是测试环境
37.如何搭建测试环境
38.linux查看日志文件内容命令
39.做过多接口联调的测试吗?
40.web端测试流程?
41.app端测试流程?
42.APP的环境搭建
43.正交表测试设计方法的特点?
44.吞吐量(TPS)、QPS、并发数、响应时间(RT)概念
45.服务端和客户端的性能分析从哪些角度来进行
46.写出http接口性能测试过程中的关注点
47.性能测试关注哪些指标
48.常见的一些错误、异常
49.说一些常见的响应码
50.系统间的接口联调测试
51.测试分类
52.Web端测试
53.测试用例
54.手机端测试话术
55.接口测试
56.性能测试
57. loadrunner话术
58.jmeter话术
59.手机自动化
60.web自动化
61.测试计划
62.测试报告
三.面试题目:
3.0面试题目:
1.界面集成测试你是怎么做的?
2.链接测试你们是怎么做的?
3.WEB表单测试是怎么测试的?
4.易用性你是怎么做的?
5.WEB权限测试你是怎么做的?
6.Session测试你们是怎么做的?
7.超长字符串测试?(就是缓冲区溢出测试)
8.帮助文档(系统文档)测试你们是怎么做的?
9.登陆测试(WEB安全)你们是怎么做的?
10.日志测试(WEB安全)你们是怎么做的?
11.数据库测试你是怎么做的?
12.导航测试你是怎么做的?
13.图形测试你是怎么做的?
14.内容测试你是怎么做的?
15.打印测试你是怎么做的?
16.服务器相关的接口测试你是怎么做的?
17.视频测试你是怎么做的?
18.连接速度测试你是怎么做的?
19.组合测试你是怎么做的?
20.C/S结构的安装部署测试?
3.1面试技巧一:
1、请你自我介绍一下你自己,
2、你觉得你个性上最大的优点是什么?
3、说说你最大的缺点?
4、你对加班的看法?
5、你对薪资的要求?
6、在五年的时间内,你的职业规划?
7、你朋友对你的评价?
8、你还有什么问题要问吗?
9、如果通过这次面试我们单位录用了你,但工作一段时间却发现你根本不适合这个职位,你怎么办?
10、在完成某项工作时,你认为领导要求的方式不是最好的,自己还有更好的方法,你应该怎么做?
3.2面试技巧二:
1、如果你的工作出现失误,给本公司造成经济损失,你认为该怎么办?
2、如果你在这次考试中没有被录用,你怎么打算?
3、如果你做的一项工作受到上级领导的表扬,但你主管领导却说是他做的,你该怎样?
4、谈谈你对跳槽的看法?
5、工作中你难以和同事、上司相处,你该怎么办?
6、假设你在某单位工作,成绩比较突出,得到领导的肯定。但同时你发现同事们越来越孤立你,你怎么看这个问题?你准备怎么办?
7、你对于我们公司了解多少?
8、请说出你选择这份工作的动机?
9、你最擅长的技术方向是什么?
10、你能为我们公司带来什么呢?
3.3面试技巧三:
1、最能概括你自己的三个词是什么?
2、你的业余爱好是什么?
3、作为被面试者给我打一下分
4、你怎么理解你应聘的职位?
5、喜欢这份工作的哪一点?
6、为什么要离职?
7、说说你对行业、技术发展趋势的看法?
8、对工作的期望与目标何在?
9、说说你的家庭。
10、就你申请的这个职位,你认为你还欠缺什么?
3.4 面试100问:
一.技术类型题目:
80道题目
1.重启虚拟机的命令 : reboot
重新启动iptables 服务 : service iptables restart
立即关机:halt=poweroff
2.创建目录的命令?Mkdir
a)Linux删除空目录命令:rmdir
b)重命名目录?mv目录名 新目录名
c)移动目录?mv目录名 目标路径名
3.Ls 是什么命令?查看目录
a)Ls -a是什么命令?查看所有目录(包括隐藏的)
b)Ls -l是什么命令?列出文件的详细信息
c)Ls -la 是什么命令?显示所有的目录和祥情
4.Linux编辑文本的两个命令:vi vim
Linux查看历史命令的命令: history
Linux清屏命令 clear
5.Linux里帮助信息查询命令答:man
Linux中切换用户的命令?su 用户名
6.linux解压包命令: tar –xzvf gzip –d bzip2
linux查看java版本信息 java –version
7.linux查询服务器时间:date
修改服务器时间:date -s
8.linux查询进程的命令:ps -ef|grep
linux杀进程的命令:kill -9
9.linux查询日志的命令:tail -f
10.删除文件同时删除目录下所有文件命令:rm -r
强制删除文件的命令:rm -f或rm-rf
11.Linux查看sshd服务系统运行级别的命令:Chkconfig --list sshd
关闭sshd服务的命令: service sshd stop
12.关闭sshd服务开机运行级别3和5的命令?
Chkconfig –level 35 sshd off
13.linux设置sshd服务开机运行别:
Chkconfig sshd on(所有级别)/chkconfig --level 35 sshd on(开3和5级)
14.生成一个空文件的命令?touch
Cat 命令是什么?显示文本文件内容
15.分页显示文本文件内容命令:more和less
分别显示文件开头和结尾内容: head、tail
16.Tac 命令是干什么的?从头到尾显示内容
Ps是做什么的命令显示瞬间的进程状态
17.bin 目录是干嘛用的?存放二进制可执行文件
Linux的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在什么目录中?dev目录
etc目录是干嘛用的?存放系统配置文件
18.home 目录是干嘛用的?存放所有用户文件的根目录
opt 目录是干嘛用的?额外安装的可选应用程序包所放置的位置
root 目录是什么目录?超级用户目录
var是存放什么的目录: 存放动态数据
19.Linux查看ip地址的命令:ifconfig
20.查看网络通畅性的命令:ping
21.显示网络接口状态信息的命令:netstat
22.Vi/Vim编辑中:
命令模式----不允许编辑
编辑模式----按键盘的 i(insert)、a、o等,按键盘上的esc退出编辑模式,进入到命令模式
末行模式----在命令模式下,输入(冒号):
保存退出----在末行模式下,输入wq表示保存退出;输入w表示保存不退出;输入q表示退出不保存;输入q!表示强制退出
23.Linux中补全命令的快捷键:tab
24.修改profile文本后保存刷新命令:source profile
25.显示用户所属组:groups
26.新建用户:useradd 用户名
删除用户:userdel -r 用户名
27.linux传输文件的工具:Xftp5
linux查找文件命令:find
28.Linux查看版本信息的命令 : uname ; uname -r ; uname -a
29.linux显示当前用户身份的命令:whoami
linux显示主机名的命令?hostname
30.登录数据库的命令:mysql -u root –p
31.相对路径指的是?不以根目录开头的路径
绝对路径指的是?以根目录开头的路径
32.linux系统特点:
开放性—开源、完全免费、多用户、多任务、良好的用户界面、设备独立性、提供了丰富的网络功能、可靠的系统安全性、良好的可移植性
33.退出数据库的指令: quit、exit
34.为mysql的root用户设置密码:
mysqladmin -u root password ‘密码’
35.在数据库中创建一个名为abc的表,命令是什么?
Create table abc
36.[root@localhost ~]#中,root是什么意思?当前所处用户
37.[root@localhost ~]#中,localhost是什么意思?当前主机名
38.[root@localhost ]#中,是什么意思?当前用户所在的工作目录
39.[root@localhost ~]#中,#是什么意思?超级管理员
40.JAVA的数据类型
byte 最小的数据类型;short 短整型;int 整型;long 长整型;float浮点型;double 双精度浮点型;char 字符型;boolean布尔类型
41.tomcat 的服务端口号:8080 tomcat
mysql的端口号3306 mysql
Sshd服务的端口号:22
42.数据库里面null表示什么意思: 空值
43.什么是数据库?
数据库就是用来存储和管理数据的仓库
44.SQL语句:查询语句 select 字段 from 表名 where 条件
SQL删除语句 delete from 表名 where 条件
SQL插入语句 insert into 表名(字段) values (值)
SQL更改语句 update 表名 set 字段=值 where 条件
45.数据库的基本操作语言:SELECT 查;DELETE 删;INSERT 增;UPDATE 改
46.TCP/IP七层协议:物理层;数据链路层;网络层;传输层;会话层;表示层;应用层
47.组合键的含义:由两个或两个以上属性(列)组成的键
主键的含义:被选用的侯选键
外键的意思:如果公共键是其中一个关系的主键,那么这个 公共键在另一个关系中称为外键
48.测试理念的三个关键要素:
质量、成本、上市时间
49.测试工作中测试工程师的工作流程有哪些
需求分析、环境搭建、测试方案、编写测试用例、测试用例评审、执行测试用例、提交bug、回归测试、bug跟踪、写测试报告 :bug数量,未修复bug,测试人员,建议是否上线以及风险
50.黑盒测试的方法有哪些
边界值分析法、错误推测法、场景法、等价类划分法、因果图、正交试验设计法、判定表驱动测试
51.BUG的等级有哪些:A致命性、B严重错误、c一般性错误d轻微错误,提示性错误、e测试建议
52.BUG的生命周期:未解决 待审核(待解决) 已拒绝 、已解决 已延期已关闭
53.windows 返回主界面快捷指令: windows键+D
windows 复制粘贴快捷键:ctrl+c ctrl+v
写出Windows常用键盘操作保存、撤销
答:保存:Ctrl+s撤销:Ctrl+z
window中删除的快捷键
答:delete
54.windows 查询IP地址的方法:
Windows键+r,输入cmd打开管理员终端,输入ipconfig
55.项目中PM是什么意思:项目经理
UT是什么意思:单元测试 SIT是什么意思:系统测试
56.基本测试用例包含哪些内容,参考答案:编号,标题,用例目的,前提条件,测试步骤,期望结果
57.测试报告怎么编写:参考内容:测试范围、测试版本号、测试人员、测试点、BUG数量、BUG数量的级别、风险点、测试建议、开发建议、结论、注意事项
58.软件项目运作周期:市场调研、可行性研究、产品立项、需求调研、设计开发、系统测试、产品发布、产品维护、产品升级
59.数据库基本字段类型
数值型:Int numeric float 字节型:bit 1或0 字符型:char; varchar 日期型:datetime
60.需求分析的来源:
需求说明书 原型流程图页面交互概要设计
61.linux是什么:Linux是一种操作系统;
62.对软件需求规格说明书进行评审有哪些方面进行:正确性、明确性、完整性、优先级、可测性和可修改性
63.测试方案怎么编写:范围、环境、实施、解决方案、人员、建议、方法、平台
64.8/2原则: 80%的错误是存在于在20%的模块里,经常出错的模块经修复后还会出错
65.一个完整的BUG单包含哪些内容:错误编号、软件名称以及版本号、错误的严重程度 、错误的概要、报告人、错误的发现时间、承办人、错误的优先级、错误的状态、错误的具体描述、备注、测试环境的描述、附件
66.软件测试的定义:为了寻找软件中的错误而执行软件的过程。
67.虚拟机是什么:答:虚拟机就是在真机上用虚拟机软件搭建的一台虚拟机器
68.转测前需要经过什么: 冒烟测试。什么是冒烟测试:在很多的用例挑部分进行测试
69.数据库中有哪几种联系关系:一对一关系、一对多关系、多对多关系
70.防止注入安全测试有哪些: sql注入和 java scritp注入简称(js注入)
71.jdbc是什么意思:链接数据库
72.网络协议有哪些?HTTP协议:超文本传输协议、FTP:文件传输协议 、sFTP:简单文件传输协议、TFTP:简单文件传输协议、DNS:域名解析协议、telnet:网络远程访问协议、SMTP:简单电子邮件协议、SNMP:简单网络管理协议、TCP:传输控制协议、UDP:用户数据报协议、ARP:地址解析协议、RARP:反向地址转换协议、IP:网络之间互连的协议、RIP:路由信息协议
73.SVN是什么工具:一个版本控制工具Subversion的版本库(repository),就是位于服务器端,统一管理和储存数据的地方
74.SVN的显示日志英文是什么:show log;在SVN中提交的英文是什么:Commit;在SVN中更新的英文是什么;Update;在SVN中检出的英文是什么:CheckOut;
75.SVN中文件冲突是指什么:团队协作工作时,当多位团队人员同时修改一个文件,造成本地文件与SVN系统中的文件版本不一致,而导致文件无法提交的情况;
76.SVN冲突的解决方案有那些:使用工具解决冲突、放弃所有的修改;
77.功能测试用例需要详细到什么程度才是合格的?
答:测试用例覆盖到所有的测试点。
78.常用的接口工具:postman、RESTClient、jmeter、Loadrunner、SoapUI
79.常用的接口请求方法:Get 查、Post 改、Put 增、Delete 删
80.404和500是什么:404:Not Found 请求资源不存在
500:Internal Server Error 服务器发生不可预期的错误
二.测试话术:
63道题
1.什么是兼容性测试?兼容性测试侧重哪些方面?
定义:兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常运行,即是通常说的软件的可移植性
侧重:兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况,才需要做兼容。根据软件运行的需要,或根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理整理成表单,就得出做兼容测试的兼容环境了。
2.正交表测试用例设计方法的特点是什么?
比如说:有四个选项框,每个各有三个选择,一共需要81个测试用例,但是使用正交表法,均匀覆盖后,缩减到9个
参考答案:
用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
3.简述一下缺陷的生命周期?
参考答案:提交->确认->分配->修复->验证->关闭
3.画出软件测试的V模型图。
参考答案:
4.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
参考答案:
1.等价类划分
划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.
2.边界值分析法
边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.
使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.
3.错误推测法
基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.
错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例.
4.因果图方法
前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.、
(1)判定表
(2)正交表
5.请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。
参考答案:登录
就说最近的这次网站功能的测试吧
首先:得到相关文档(需求文档和设计文档),理解需求和设计设计思想后,想好测试策略(测试计划简单点就OK了),考虑到测试环境,测试用例,测试时间等问题。
第二步:设计测试用例,测试策略是:把网站部分的功能点测试完,然后在进行系统测试(另外个模块呢有另一个测试人员负责,可以进行联调测试),网站模块的测试基本是功能测试和界面测试(用户并发的可能性很小,所以不考虑):这次的网站的输入数据呢是使用数据库中的某张表记录,如果表中某一数据记录中新加进来的(还没有被处理的,有个标志位),网站启动后会立刻去刷那张表,得到多条数据,然后在进行处理。处理过程中,会经历3个步骤,网站才算完成了它的任务。有3个步骤呢,就可以分别对 这3个步骤进行测试用例的设计,尽量覆盖到各种输入情况(包括数据库中的数据,用户的输入等),得出了差不多50个用例。界面测试,也就是用户看的到的地方,包括发送的邮件和用户填写资料的页面展示。
第三步:搭建测试环境(为什么这个时候考虑测试环境呢?因为我对网站环境已经很熟了,只有有机器能空于下来做该功能测试就可以做了),因为网站本身的环境搭建和其他的系统有点不同,它需要的测试环境比较麻烦,需要web服务器(Apache,tomcat),不过这次需求呢,网站部分只用到了tomcat,所以只要有tomcat即可
第四步:执行测试
6.你以前工作时的测试流程是什么?
参考答案:(灵活回答)
公司对测试流程没有规定如何做,但每个测试人员都有自己的一套测试流程。我说下我1年来不断改正(自己总结,吸取同行的方法)后的流程吧。需求评审(有开发人员,产品经理,测试人员,项目经理)->需求确定(出一份确定的需求文档)->开发设计文档(开发人员在开始写代码前就能输出设计文档)->制定测试计划,写出测试用例->发给开发人员和测试经理看看(非正式的评审用例)->接到测试版本(可能测试的代码 通过冒烟测试的代码)->执行测试用例(中间可能会补充用例)->提交bug(有些bug需要开发人员的确定(严重级别的,或突然发现的在测试用例范围之外的,难以重现的),有些可以直接写到TD(Test Director 相当于禅道))->开发人员修改(可以在测试过程中快速的修改)->回归测试(可能又会发现新问题,再按流程开始跑)。
7.描述一下Http协议
http协议又叫做超文本传输协议,在做网络请求的时候,我们基本上是使用http协议。
http协议包括请求和响应。
请求中包括:请求地址,请求方式,请求方式包括get请求和post请求,get和post区别是get请求是在地址栏后边跟随请求参数,但是请求参数大小是有限制,不同浏览器是不同的。一般是4KB。post请求主要用于向服务器提交请求参数。post请求的参数是放到请求实体内容中的,相对get请求较为安全一些。
另外,请求中会有各种请求头信息,比如支持的数据类型,请求的来源位置,以及Cookie头等相关头信息。
响应,主要包含响应的状态码,像200(),404(),500(),304(),307()
还有各种响应头信息,比如设置缓存的响应头,Content-Type内容类型,设置cookie头信息。
8.什么是测试计划?
软件项目的测试计划是描述测试目的、范围、方法和软件测试的重点等的文档。
9.测试计划包括哪些要素?
测试计划:项目名称、项目经理、测试经理、测试时间、迭代、测试内容、工作量(工时/人数)、对应开发人员、备注、建议等。。。
10.什么是测试报告?
测试报告是指把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础。
10.测试报告包括哪些要素?
测试报告:产品名称、版本号、测试范围、测试人员、测试点、bug数量、bug级别数量、风险点、测试建议、开发建议、结论、注意事项。。。
12.缺陷包括哪些要素?
1.和bug产生对应的软件版本
2.开发的接口人员
3.bug的优先级
4.bug的严重程度
5.bug可能属于的模块,如果不能确认,可以用开发人员来判断
6.bug标题,需要清晰的描述现象
7.bug描述,需要尽量给出重新bug的步骤
8.bug附件中能给出相关的日志和截图。
高质量的bug记录就是指很容易理解的bug记录,所以,对于描述的要求高,能提供的信息多且准确,很好的帮助开发人员定位。
13.Monkey测试的优点和缺点?
优点:
1、使用简单
2、节省了重复性操作的时间
3、随机输入可能会发现一些平常意想不到的缺陷。
Monkey虽然可以根据一个指定的命令脚本发送按键消息,但其不支持条件判断,也不支持读取待测界面的信息来执行验证操作。
3、可对Monkey Test的对象,事件数量,类型,频率等进行设置。
缺点:
1、测试的对象仅为应用程序包,有一定的局限性。
2、Monky测试使用的事件流数据流是随机的,不能进行自定义。
14.请详细阐述接口测试和UI测试在测试活动中是如何协同测试的?
接口测试和UI测试这两块其实是有一部分是重叠的,UI测试是通过前端写的界面,来调用接口,而接口测试是直接调接口。所以排除前端的处理的逻辑和调用的正确性,在理论上接口测试是可以覆盖所有的UI测试。但实际过程中,如果只是在接口层覆盖所有的业务流,在UI上只测试前端的逻辑,最终的结果可能会是忽视很多原有的功能点,导致了UI测试的不充分。所以存在多人分工且时间充分的时候可以尝试接口去做业务流的全覆盖,否则不要轻易尝试
15.请详述缺陷在管理工具中的状态转换
New 为测试人员新问题提交所标志的状态。
Open 为任务分配人(开发组长/经理)对该问题准备进行修改并对该问题分配修改人员所标志的状态。Bug解决中的状态,由任务分配人改变。对没有进入此状态的Bug,程序员不用管。
Reopen 为测试人员对修改问题进行验证后没有通过所标志的状态;或者已经修改正确的问题,又重新出现错误。由测试人员改变。
Fixed 为开发人员修改问题后所标志的状态,修改后还未测试。
Closed 为测试人员对修改问题进行验证后通过所标志的状态。由测试人员改变。
Rejected 开发人员认为不是Bug、描述不清、重复、不能复现、不采纳所提意见建议、或虽然是个错误但还没到非改不可的地步故可忽略不计、或者测试人员提错,从而拒绝的问题。由Bug分配人或者开发人员来设置。
Delay 开发人员认可是缺陷,但认为当前版本无法修复的缺陷。故拖延到后期再进行修复。若是有缺陷被标为该状态,则开发人员必须附上缺陷修复的具体版本或日期。
16.如何查看启动端口2222的服务?
参考答案:netstat –an|grep 2222; netstat -tnlp | grep :2222
17.查看本机是否已经安装TFTP软件,若已经安装,先删除后再安装;否则,先安装后再删除。写出实现上述操作的命令列表。
参考答案:查看:rpm –qa|grep tftp;删除: rpm –e tftp-0.42-3.1,安装rpm –ivh tftp-0.42-3.1。
18.找出/etc下,文件大小介于50KB到60KB之间的文件,并列出文件的操作权限。
参考答案:find /etc –size +50k –and –size -60k
19.adb常用的指令
ADB,即 Android Debug Bridge,
adb logcat //显示全部日志
adb logcat > c:\test.log //将日志保存到文件
test.log adb logcat *:W //显示所有优先级大于等于“warning”的日志
adb start-server adb启动
Adb Kill-server 停止adb
adb -P start-server adb指定adb server 的端口
adb devices 查看已连接的设备
adb shell pm list packages 所有应用
adb shell pm list packages -s 系统应用
adb shell pm list packages aaa 查看包名包含字符串 aaa 的应用列表
adb shell pm list packages | grep aaa 查看包名包含字符串 aaa 的应用列表
adb install 安装
adb uninstall 卸载
adb shell pm clear com.baidu.com 清除应用数据和缓存
adb logcat -c 清除日志
Adb logcat -v 指定日志输出格式 format(tag/process/raw/time/threadtime)
过滤:
adb logcat ActivityManager:I MyApp:D *:S
表示输出 tag ActivityManager 的 Info 以上级别日志,输出 tag MyApp 的 Debug 以上级别日志,及其它 tag 的 Silent 级别日志(即屏蔽其它 tag 日志)
按级别过滤日志
Android 的日志分为如下几个级别:
V —— Verbose(最低,输出得最多)
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal
S —— Silent(最高,啥也不输出)
按某级别过滤日志则会将该级别及以上的日志输出。
比如,命令:adb logcat *:W将 Warning、Error、Fatal 和 Silent 日志输出
20.如何用adb快速查看电脑连接设备的状态?
adb devices
21.如何用adb查看手机进程?
adbshellprocrank查询各进程内存使用情况
22.什么是手机Monkey测试?如何使用Monkey测试?
Monkey是AndroidSDK提供的一个命令行工具,可以简单,方便地运行在任何版本的Android模拟器和实体设备上。Monkey会发送伪随机的用户事件流,适合对app做压力测试。主要目的就是为了测试app是否会Crash
23.写一条完整的monkey测试指令
24.APP测试的稳定性
了解什么是稳定性,这项工作一般是在软件产品基本功能无缺陷后进行的一项测试工作。一般使用软件系统满足持续运行模式,进行临界情况的测试,看系统是否有异常。
一般使用monkey工具,向系统发送随机事件流,如按键输入、触摸屏输入、手势输入等,实现对软件的稳定性测试
25.如何理解压力、负载、性能测试测试?
参考答案:
性能测试是一个较大的范围,实际上性能测试本身包含了性能、强度、压力、负载等多方面的测试内容。
压力测试是对服务器的稳定性以及负载能力等方面的测试,是一种很平常的测试。增大访问系统的用户数量、或者几个用户进行大数据量操作都是压力测试。 而负载测试是压力相对较大的测试,主要是测试系统在一种或者集中极限条件下的相应能力,是性能测试的重要部分。100个用户对系统进行连续半个小时的访问可以看作压力测试,那么连续访问8个小时就可以认为负载测试,1000个用户连续访问系统1个小时也可以看作是负载测试。
实际上压力测试和负载测试没有明显的区分。测试人员应该站在关注整体性能的高度上来对系统进行测试。
26.您以往是否曾经从事过性能测试工作
本人从事过性能测试工作,性能测试包含负载测试和压力测试,。。。。
27.adb 怎么过滤
adb logcat | grep MyApp
adb logcat | grep -i myapp #忽略大小写。
adb logcat | grep --color=auto -i myapp #设置匹配字符串颜色
28.Jmeter为什么要参数化
第一点:多用户登录的时候,如果不进行参数化,就没法演示了,需要使用CSV将参数放到文件,来演示多用户登录
第二点:在进行录制的时候,有可能存在第二个请求的参数是从第一个请求中获取出来的,需要在第一个请求下,去将参数提出取来,再在第二个请求中进行参数化
29.你用什么机器对服务器进行压力测试
按照规范的话,需要使用一台性能比较好服务器来对服务器进行压力测试。
在Linux系统下搭建测试环境,然后进行测试。
可以说使用的Jmeter进行的测试,前期需要搭建的环境包括Java MySQL 等环境
30.使用Jmeter回放脚本的时候遇到的问题?
sessionId的问题,添加后置选择器,正则提取器,需要设置参数关联
31.对于登陆你是怎么测的?
基本的登陆么?(回答我是的)这个先测一下能不能正确登陆,然后呢对输入框进行测试,就是测各种输入情况,空格啊,NONE啊,数字啊,汉字,数字,特殊字符等等,以及他们之间的组合,长度等 密码的话基本差不多,还要有密码长度限制啊,保密啊,再然后就是测测按钮等等
具体需求:
有一个登录页面,有一个账号和一个密码输入框, 一个提交按钮。 请针对这个页面设计Test Case。测试用例
此题的考察目的:
1、了解需求(测什么都是从了解需求开始);
2、是否有设计Test Case的能力
3、是否熟悉各种测试方法;
4、是否有丰富的Web测试经验;
5、是否了解Web开发;
了解需求:
测试需求分析过程,可以从质量要求出发,来展开测试需求分析,如从功能、性能、安全性、兼容性等各个质量要求出发,不断细化其内容,挖掘其对应的测试需求,覆盖质量要求。也可以从开发需求(如产品功能特性点、敏捷开发的用户故事)出发,针对每一条开发需求形成已分解的测试项,结合质量要求,这些测试项再扩展为测试任务,这些测试任务包括了具体的功能性测试任务和非功能性测试任务。在整理测试需求时,需要分类、细化、合并并按照优先级进行排序,形成测试需求列表。
1、登录界面应该是弹出窗口式的,还是直接在网页里面;
2、账号长度和密码的强度(比如需要多少位、大小写敏感、特殊字符混搭等);
3、界面美观是否有特殊要求?(即是否要进行UI测试);
4、····
用例设计:
测试需求分析完成后,开始用例设计,主要可以从以下几个方面考虑:
功能测试(Function Test)
1、输入正确的账号和密码,点击提交按钮,验证是否能正确登录。(正常输入)
2、输入错误的账号或者密码, 验证登录会失败,并且提示相应的错误信息。(错误校验)
3、登录成功后能否跳转到正确的页面(低)
4、账号和密码,如果太短或者太长,应该怎么处理(安全性,密码太短时是否有提示)
5、账号和密码,中有特殊字符(比如空格),和其他非英文的情况(是否做了过滤)
6、记住账号的功能
7、登录失败后,不能记录密码的功能
8、账号和密码前后有空格的处理
9、密码是否加密显示(星号圆点等)
10、牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者),刷新或换一个按钮是否好用
11、登录页面中的注册、忘记密码,登出用另一帐号登录等链接是否正确
12、输入密码的时候,大写键盘开启的时候要有提示信息。
13、什么都不输入,点击提交按钮,看提示信息。(非空检查)
界面测试(UI Test)
1、布局是否合理,2个Testbox 和一个按钮是否对齐
2、Testbox和按钮的长度,高度是否复合要求
3、界面的设计风格是否与UI的设计风格统一
4、界面中的文字简洁易懂,没有错别字。
性能测试(Performance Test)
1、打开登录页面,需要几秒
2 、输入正确的账号和密码后,登录成功跳转到新页面,不超过5秒
安全性测试(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、主流的浏览器下能否显示正常已经功能正常(IE6~11, FireFox, Chrome, Safari 等 )
2、不同的平台是否能正常工作,比如Windows, Mac
3、移动设备上是否正常工作,比如iPhone, Android
4、不同的分辨率
本地化测试 (Localization Test)
1、不同语言环境下,页面的显示是否正确。
软件辅助性测试 (Accessibility Test)
软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能
1、高对比度下能否显示正常(视力不好的人使用)
32.web端测试流程?
33.版本控制器使用的什么
svn 有的公司会让我们自己部署环境,比如我在上一家公司的时候,程序员会把项目代码发布到svn上,我们自己讲代码下载下来,然后部署程序运行的环境,再进行测试,这样的话,会省掉不少的时间。
34.常用查看服务器信息
ps ax | grep emacs
sun % grep telnet /ect/services
查看cpu占用情况
cpu sar -u
查看硬盘使用情况
df -k bdf
35.Linux常用命令
cd 进去
Ls 查看文件目录
Cat 查看内容 Grep 分析 Find 查找 Cp 复制 Mv 移动 Vim 文件编辑
Rm 删除 Ps 运行情况 Kill 发送命令 Killall
Tar 压缩 Chmod 改变权限 Time 文件执行时间
36.什么是测试环境
测试环境(Testing environment)是指测试运行其上的软件和硬件环境的描述,以及任何其他与被测软件交互的软件,包括驱动和桩。测试环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。
其实就是,测试环境=软件+硬件+网络+数据准备+测试工具
37.如何搭建测试环境
个人PC(windows)可以搭建测试环境,但是由于个人PC硬件和软件的局限性,我们一般不使用其搭建测试环境,但如果是自己做模拟实验是没问题的。
但是在企业中我们一般都不使用windows平台搭建服务器,而是选择linux平台。
这是因为我们经常选择linux平台作为服务器的操作系统。
4.搭建测试环境
如果你需要搭建的测试环境是刚装的linux操作系统,
通常测试环境包括JDK环境,Tomcat环境和MySQL环境
下边是安全配置的步骤,大家可以理解,不用强背…,面试的时候,可以说就从网上找一份文档,按照文档进行配置
1.安装jdk
如果有自带,先卸载再装
1.把包复制/usr/local
2.解压
3.配置环境变量
export JAVA_HOME=/usr/local/jdk1.7.0_71
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
4.检查java是否安装成功
java -version
2.安装tomcat
1.把下载的tomcat包复制/usr/local
2.解压
3.在tomcat/bin目录执行startup.sh文件
启动服务
在浏览器中连接:IP:8080
4.如果连接不上,但tomcat又是显示启动OK,检查firewall
路径为 /etc/sysconfig/iptables,将8080端口开启
5.重启服务
3.安装数据库
数据库一般安装mysql和oracle多一些
首先下载相应的数据库安装包
mysql安装比较简单,可以使用源码安装,也可以使用yum在线安装,在这里简单地介绍一下yum在线安装
用yum在线安装
38.linux查看日志文件内容命令
tail、cat、tac、head、echo
39.做过多接口联调的测试吗?
答:做过,我们之前有这样一个应用场景,就是我们先填写一个表单的数据,然后再填写另外一张表单的数据,最后生成到统一的一个表格中,这个我们就是通过接口调试来进行测试,要不然效率太低,另外使用这种联调的方式,能快速的查找到bug的位置
40.web端测试流程?
一、立项后测试需要拿到的文档
二、需求评审
三、用例编写(同时根据开发计划编写测试计划)
四、用例评审
五、测试执行
六、测试报告及操作手册
41.app端测试流程?
42.APP的环境搭建
配置一个adb环境变量
使用adb连接Android设备,并执行相应指令,获取产品数据(占用cpu、内存等);
使用monkey对产品进行压力测试和随机测试并将日志输出到本地;
43.正交表测试设计方法的特点?
以最少的测试用例覆盖最多的功能点。
44.吞吐量(TPS)、QPS、并发数、响应时间(RT)概念
QPS 每秒查询率,因特网上,经常用每秒查询率来衡量域名系统服务器的机器的性能,其即为QPS。
对应请求数/sec,即每秒的响应请求数,也即是最大吞吐能力。
原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间。
公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS) 。
机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器 。
每天300w PV 的在单台机器上,这台机器需要多少QPS?
( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)。
一般需要达到139QPS,因为是峰值。
响应时间(RT):
响应时间是指系统对请求作出响应的时间
吞吐量:
吞吐量是指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量)。
45.服务端和客户端的性能分析从哪些角度来进行
服务端
1.数值说明:
测试完成的总事务数
平均请求响应时间
统计意义上的平均响应时间
除特殊情况之外的最大响应时间
最短响应时间
最大响应时间
吞吐量,和ab的每秒处理请求数相同
流量,权衡
2.测试并发性能:
3.测试获得结果分析:
a)整个场景中的网络传输量
b) Request per second:每秒处理的请求数,即每秒事务数(TPS),一般来说100~200是 比较理想的范围
c) Time per request:每个请求所花的时间,即平均事务时间。此数值一般有两行,一般 关注后一行的数值,也就是计算请求平均响应的时间。
d) Transfer rate:平均每秒的网络流量,此数据可以帮助排除是否存在网络流量过大导 致响应时间延长的问题。
服务端性能测试的几个注意事项:
a) 性能测试最好在本地进行,至少要保证服务器和测试机都在内网中,这样才能排除网络的干扰,更准确的测出系统本身的问题。
b) 必须根据服务端应用的实际情况选用合适的输入参数,这样可以预估出和目标性能相似的测试。
客户端:
稳定性测试的三个要点:
a) 应用的运行实际要尽可能的长,
b) 保持运行时是多线程运行状态
c) 尽可能使用多的机型或者操作系统进行测试
46.写出http接口性能测试过程中的关注点
47.性能测试关注哪些指标
从外部看,性能测试主要关注如下三个指标
吞吐量:每秒钟系统能够处理的请求数、任务数。
响应时间:服务处理一个请求或一个任务的耗时。
错误率:一批请求中结果出错的请求所占比例。
从服务器的角度看,
性能测试主要关注CPU、内存、服务器负载、网络、磁盘IO等
用户切换:默认登录的是普通用户权限
显示 符 t r e e @ u b u n t u : / u s r 符 tree@ubuntu:/usr 符tree@ubuntu:/usr
从普通用户切换超级用户权限:
sudo su
tree@ubuntu:/usr$ sudo su
输入密码
[sudo] password for tree:
输入密码之后即可切换到超级用户了。
从超级用户切换普通用户:
su 用户名
root@ubuntu:/usr# su tree
从超级用户切换到普通用户是不需要输入密码的,输入上面的命令之后直接回车即可
tree@ubuntu:/usr$
授权命令: 比如对于一个文件 可以采用 chmod 命令进行授权 假设文件 / 文件夹 tset chmod 777 test
48.常见的一些错误、异常
a)NullPointerException 空指针异常
b)ClassNotFoundException 指定的类不存在
c)NumberFormatException 字符串转换成数字异常
d)IndexOutOfBoundsException 角标越界
e)ArithmeticException 运算异常
f)FileNotFoundException 文件找不到
g)ArrayStoreException 数组存储异常
49.说一些常见的响应码
h)200 – 服务器成功返回网页
i) 404 – 请求的网页不存在
j)503 – 服务不可用
k)404 (未找到) 服务器找不到请求的网页。
l)500 (服务器内部错误) 服务器遇到错误,无法完成请求。
m)303 重定向
2、抓包工具用过什么?
a)Fiddler
i.断点 在菜单中选择“Rules”->“Automatic Breakpoint”->“Before Requests”,这种方式会截断所有Request请求。
ii.过滤filters use Filter show only the folwinghosts 在添加过滤的内容 、点击action
b)Charles
i.断点在抓包之后。在请求数据、右键选中BreakPoints、在弹出的断点窗、在editRequest可以添加、修改参数、进行调试、EditRespone可以设计响应、点击excute、在fillter中就可以设置网址或者其他过滤
50.系统间的接口联调测试
例如:两个系统之间的部分数据是相互读取的
51.测试分类
按照阶段来划分的话
单元测试:可以理解为单功能测试,对软件中最小可测单元进行检查和验证,也就是说程序员在一开始写代码的时候,一个一个的功能也要测试,一般情况下在公司里面 是程序员自己去做的这个单元测试,但是像这个python里的unittest的单元测试 我也会怎么去做,一般情况下python的单元测试需要先创建一个类,调用uninttest里的TestCase,定义测试前准备环境的搭建setUp()函数和测试后环境的还原tearDown()函数,测试用例用test开头,调用时用unittest.main()函数。像Java里面的单元测试Junit我也是有接触过的。(但是像这个Java里的JUnit的单元测试 这个我也会 怎么去设置他的注解啊包括他的这个,像timeout,这些注解呢,像pathon里面的单元测试呢我也是有接触过的.)
集成测试: 集成测试我们公司里面是这样来做的,当开发做完一个或者多个的功能的时候呢,他会把信息给我们,然后我们就测试模块和模块之间的问题以及模块单个的问题.集成测试我们第一方面可以用到这个简单的功能测试,去测试这个功能是否完成了,还有呢就是用这个接口测试,有些时候我们的前台和后台是分离的然后我们就测试后台的功能,比如说他写了一个非常简单的登录功能,那我们呢就用接口去判断一下是否能够成功啊,返回值是什么样子的啊,这个就是我们集成测试
系统测试:当然系统测试又是一个比较大的概念 我们要考虑好多 比如说要考虑安全性啊 兼容性啊 考虑自己本身的这个功能啊 /性能啊, 当我们软件基本功能完成之后呢我们就会做这个系统测试 这是我给你讲的这个基本的系统测试 那细节呢等会我在分开来讲
验收测试:就是我们快要上线的时候要验收一下整体的功能,是否完成我们产品设计那一块,包括我们产品经理给的原型图,甚至UI给的效果图都要达到标准,这样呢才能达到上线的标准,这是这个验收测试
按照是否能够看得懂代码来划分,就分为黑盒测试和白盒测试
白盒测试:咱们作为测试的话就需要能看懂人家里面的代码!说实话 我不是很懂里面的代码 里面的代码呢确实有的很高深,像这个java 里面php里面的代码,我也搞不太懂.但是呢做一些基本的功能点的测试还是没有问题的,其实我刚才说的这个单元测试呢,就属于白盒测试里面的范围了.白盒测试里面的静态测试,静态测试通常的情况下是由程序员包括他们团队的领导自己来做,就是审核代码 一般情况下呢也不会让我们测试去审核,这是这个白盒测试
黑盒测试:里面呢主要分为这个(1)功能测试 :我先说一个比较简单的功能测试吧,在公司里面功能测试要考虑好多我们要考虑到
(a)一般逻辑功能:什么意思呢 比如说 我上个软件 我们是做了一个金融类的 或者是说我做了一个医疗类的软件 他的逻辑功能是什么呢 比如说我们 医疗里面有好多个科室 各自科室里面有各自的人工信息 那我各自科室是管理我们各自的人工的 然后我可以添加员工信息 添加完你应该是在页面上马上展示 这属于逻辑功能.还有能员工信息比较多下一页上一页 还有病人信息的管理 包括他病例的管理.这个呢我们都是在平台上有的 逻辑功能呢就是看他逻辑业务是否符合我们常规的一个需求.
(b)易用性 :因为做医疗平台 不光是给一家公司在用 有好多医院都在用我们的医疗平台 那这个就是要我们保障这个医疗平台他是用的了得 他会用 我们会有这个专门的老师来给他讲解这个到底怎么使用 但是我得保证我们的软件好用 简单 他能够学得会 因为我们确实是做的高大上 人家根本就学不会 那学不会的话 到最后我们的产品也不好卖 这个是我们医疗平台的易用性
©界面的测试:主要界面是否美观啊大方啊 这些都要测试 界面这个说起来就多了是吧 包括这个整体的界面 包括一个弹框 包括一个单元格 包括颜色 字体这些都属于界面测试的范围 然后我们还要考虑兼容性测试
(d)兼容性测试:我们主要考虑的是 IE浏览器 火狐浏览器 谷歌浏览器 不同的浏览器类型 包括不同的平台 Win 7 Win8 Win10 其实如果说 你仔细去看的话好多的平台 他只兼容这个IE浏览器 火狐和谷歌就不兼容,包括一些银行的的这个网页 他对浏览器他是有一个很高的依赖性的 兼容性就做的不好 但是我们做软件的话就要考虑到用户的需求 用户哪知道IE还是用谷歌啊,所以说呢咱们要考虑到这个不同浏览器的兼容性.来做这个测试 兼容性测试的话其实没有太多的窍门,就是在不同的浏览器上我们去使用.
(e)安装测试:但是我们上个项目呢是做的BS架构的服务器浏览器的模型,所以说就没有安装这一说 我们打开浏览器就能用.在之前的话我是做这个手机应用的,在最早的时候我刚刚开始工作的时候还做个这个CS架构的 就是我们要在电脑安装软件的这种 这种就要考虑到安装卸载测试啦 安装的时候咱们空间是否够啊 卸载的时候是不是要清除一些我们的残留信息啊 把我们之前的信息全部清除 版本升级的时候是怎么升级的是不得覆盖那个版本啊 这些都要考虑的 这是这个安装卸载测试
我们做测试的稍微有点技术含量的就是这个性能测试了,性能测试呢他也属于黑盒.性能测试从概念上来讲的话分为以下内容:
一般性能测试:简单的我让他持续的运行,但是这个我们做测试的话就很少做这个了,这个让他能运行就可以 让他在系统打开能够正常访问就可以.
稳定性测试:稳定性是看他在系统能够持续运行的时间 这个也少测一些
负载和压力测试:那我在公司里面做性能测试的话,更多是集中在压力测试和负载测试这两方面 他们俩的话,通常我们把他们的概念分的不是特别清,就是不断地给系统加压,我们去发现这个系统所存在的一些瓶颈.
当然测试还有好多分类的啊 像回归测试
回归测试:的话我在上家公司就经常做 上家公司经常做版本更新的 尤其是现在这个开发 手机这块 移动互联网兴起之后能咱们手机的APP 越来越多 咱们做手机测试就越来越多了 手机的更新的是比较快的 发版也比较快 所以你要不停地发版不停地测试 而你上一次说测试的那个功能 比如说我们那个软件 我在上家公司的期间 他的版本更新就比较快从3.0 更新到了5.0,然后我们之前测过的功能在下一个版本仍然是比较重要的功能那我是不是也要测试啊 那测试的话就属于回归测试
冒烟测试:当我们一个整体的系统做完之后呢 其实在比较传统的公司来做的啊,就是开发完了之后呢整体的功能给你,作为测试的话我们不是先测他所有的功能 而是测他整体的功能 如果他整体的功能都有bug 的话 然后我们直接回返回给开发部 让他们去解决 解决完了我们在开始测试 那我上家公司包括上上家公司呢都是互联网公司了做的都是敏捷开发,敏捷测试 很少开发做完了我们才来测试 都是他在开发的时候呢我们也在测试 所以这个冒烟测试这两年的话也就很少了 也就成为概念了吧 在一些古老的公司传统的公司可能会多一些 这个是冒烟测试
随机测试:举个例子啊,想我们医疗平台上有一个输入框,去填写病人的信息,按照正常的逻辑思维的话,咱们填写肯定是很规范的,但是我们就要考虑到假设那个医生或者那个管理员他们不太懂,他随便去操作随便去输入数据,这个就是随机测试,那我们在测试的时候呢就这样,我也去随机的输入一些数据 看看能不能提交成功 这个就可以理解为随机测试啦.
52.Web端测试
Web端测试其实就是主要考虑功能方面的,功能方面的的话,内容还是比较多的,我就先说一下web端测试里面的兼容性吧!
兼容性的话,我们一般就要考虑不同的平台,比如说我们要考虑Windows win7 win8 win10然后呢还要考虑Mac平台及Linux操作系统,然后呢还要考虑不同浏览器的兼容性,比如说IE系列 IE7 8 9 10, 然后还要考虑火狐,谷歌浏览器及欧朋浏览器,还有Mac本上的safarui当然还要考虑一些小众的浏览器像qq浏览器还有360浏览器及搜狗浏览器,我们都要考虑到他们的兼容性,如果说你是一个非常强势的软件的话,我们不需要考虑,但是我们上一家公司的话,我们是一个互联网企业,互联网企业追逐的就是用户的体验,我们是放在第一位的,然后呢,我们的软件在做的时候是考虑了很多的兼容性的,在一开始测试的时候呢其实它是有兼容性问题的,一开始它只支持IE系列的,放到火狐上面,他就有一些插件,他会出问题,然后呢就去跟开发去提 bug 然后开发去做了修改,然后开发去修改的的话就是判断不同的浏览器去做不同的支持,这是我上一家项目做的兼容性这一块,当然如果说我们去做一些国家项目的话,就是像银行啊,这些项目的话,包括一些公务系统啊,这个就可能对兼容性就考虑的不太多了,然后我做外派的时候呢,就是做过一个类似于公务员考试的平台.我们去做的一个优化,然后做那个优化的时候呢,其实我们就没有测兼容性,因为我们比较强势,然后这个是兼容性测试,
然后对于web端测试的话,我们还要考虑界面测试和逻辑功能测试,我先讲一下界面测试吧,界面测试的话,咱们看似非常简单,就是看一下这个界面合适不合适,其实呢真正在测试的时候呢,他没有这麽简单,比如说界面测试要考虑什么呢?要考虑界面整体的一个效果,然后整体界面效果是否能够占满整个屏幕,他站的那个位置是否合理,包括整个界面里面的一些弹框效果,这些我们都要考虑到,还有一些界面元素要考虑到,比如说一个简单的div,这个div所占的位置是否合理啊,我们要跟整体的效果图去做一个比对,甚至来说,要做一个精细化的话,我们一个超链接一个位置要比对,一个字体的大小字体的颜色要作比对,甚至包括动画的效果要作比对,要跟我们的产品效果图完全一致,这都是必须要做到的.实际在做的时候呢,这一点呢也是比较麻烦的,我们既要考虑当前的浏览器,还要考虑一些兼容性的问题,这是界面测试这一块,还有界面测试的话,有些框框的话,要考虑到他的容错性,容错性什么意思呢?就是允许我们的用户输入错误的情况,给他来一个温馨的提示,比如说咱们大部分的输入框就拿登录注册这样的功能来说吧,基本上所有的网站,包括咱们公司要开发的这些肯定也是有登录注册的功能的,然后呢,用户在输入信息的时候呢,有可能输入不合法的信息,比如说输入一个字符,或者说我们要求密码只能是小写字母加数字,他有可能输入空格或者空字符,这些呢我们都要给他来一个友好的提示,要温馨提示一下用户,还有就是界面删除啊,一些关键的业务操作的时候,界面上我们要有一个温馨弹框,然后要提示是否要删除这些重要的数据,这也都是要做的,这是我说的界面测试这一块,接下来再说逻辑功能这一块!
逻辑功能这一块就是根据我们的需求 ,一步一步的去进行测试,举个例子,就像我原来做过的教育平台,然后他数据要有一个初始化,即便用户在没有搜索的前提下,比如说家长查看我们的平台,我们要有一个数据的初始化,把这些相关的教育信息给他展示,甚至来说可以插播一些广告,比如说他没有搜索的情况下五年级的,四年级的,三年级的,二年级的我们都会有一个初始化的信息展示,然后当他要搜索的时候呢,再展示其它的,这就是关于初始化数据这一块,除了初始化的话,还有一些特定的业务,像我们做的教育平台的话,他有前台系统,前台的话,就是给家长和学生去看的,可以在上面看这个视频,然后去做这个在线作业.我们的视频肯定有一个上传的途径,然后视频资源的展示信息肯定是要有一个后台的,对于这个后台的话,我们也是有一个业务逻辑的,比如说增加删除修改的功能呢,我们是怎么实现的,都会有一个具体的业务的判断,包括其他的像模糊查询,分页这些功能我们都是要考虑到的,这是业务逻辑这一块;
另外呢,对于web端测试非常重要的一方面就是安全性测试,安全性测试的话我们主要是考虑这几个方面吧,第一个就是我们数据的安全,数据安全的话就包含什么呢,就包含我们个人信息啊,账户信息啊这些数据的安全,另外就是业务信息的安全性,业务信息的安全性又包括哪些呢?比如说我们有一个超时验证,像大多数的网站都有超时验证,就拿淘宝来说吧,你30分钟没有做任何操作,如果说你点击淘宝里面他需要你重新去登录验证,这个是什么初衷呢,就是说有可能这个用户他离开了,又换了另外一个人,然后又去继续操作他的账户,这个咱们要有一个超时验证,除了超时验证的话,咱们要有一个角色验证,就拿我刚才所说的教育平台后台系统来说,他有的这个角色是不一样的,比如我们里面最高角色是超级管理员,对于超级管理员的话,他可以对我们教育平台里面所有的产品做增删改查的操作,然后去编辑,都是没有问题的,但是呢我们不可能让所有的人的角色都是超级管理员,有的这个级别低,比如说,讲师,有的讲师角色,讲师角色的话他就只能往教育平台上上传他自己的视频,管理或者是删除他自己的视频,并且去删除的时候呢,还要去提交一个申请,我们管理员通过之后,才能去删除,这就是角色不同,所操作的权限也是不同的,这是角色权限这一块,当然除了角色权限的话,当然还有其他的权限,像这个所有权认证,所有权认证的话就是要求我们进行登录,比如说,我们有一些操作的话,必须是在登录的情况下才能够进行的,这个就是所有权认证,不登录的话,这个是没法去操作的,这是这个安全性!
除了安全性的话,还有一些就是关于性能测试的,性能测试最简单的就是要考虑界面渲染的一个时间,还是拿那个教育平台的例子来说吧,我们那个平台呢,在一开始在做的时候呢,就发现,我打开这个搜索商品的时候,他的效率就非常低,大约是在6-7秒钟才能够把所有搜索的信息展示出来,后来我就把它提了一个bug,就是我们用户的体验度其实并不好,然后提了这个bug之后呢,程序员就开始优化代码,我也不知道具体他怎么优化的,但是我就知道他做了优化,后来我们在做测试的话,这个页面搜索的时间基本上是能够控制在2秒以内的,这就说明时间性能这一块他是做了一个调整的,这是关于性能这一块,当然性能这一块要说测试的话,面就比较广了,我就不展开来说了!
除了我刚才所说的,web端测试的话还有好多吧,比如说易用性测试,比如说去做一个OA系统,好多OA系统都是BS架构的,也是web这种效果,要简单易用,要让别人一学就会,这都是关于一些web端测试的内容吧!
53.测试用例
面试官,您好!我叫xxx,来自xx xx,接下来我给各位面试官讲一下测试用例吧,测试用例我们在做功能测试、性能测试、接口测试都要写这个测试用例,我就讲下功能测试这块的测试用例吧.
其实呢,我们在做功能测试的时候一般要花很长时间来写这个用例,主要是分析怎么把BUG测试出来,一般情况下我在公司写测试用例的时候都会有一个测试用例的模板,比如说我上家公司的模板是比较简洁的,就有一个测试用例的编号、一个执行步骤、一个输入参数、一个执行结果,编号的话就不用说了,就是一个用例一个编号,步骤的话就是我们去操作我们的软件,是怎么一个步骤,需要我们详细的给它描述出来,方便我们去自查的时候能找到测试用例的一个执行步骤,然后去正确的执行,还有就是评审的时候我们能够互相的把这个测试用例合理不合理给它评审出来,看步骤有没有问题。然后就是输入参数,输入参数就是针对有输入框或者输入参数效果的时候才会用到,有的测试不需要空着就可以。最后就是这个预期结果,预期结果的话是写测试用例必不可少的一个部分,就是说我们在做一个测试用例,心里肯定是有一个预期的,当然除了我们主观上的预期我们还要符合产品的一个需求,还有产品的原型图和UI的效果图,当然对于这个测试用例有时候需要比较完善一些,你比如说我们有时候要给它写模块,在上家公司的话,我们给它标明这个模块,还要标明我们当前所测试软件的版本号,标明我们的软件环境、硬件环境以及网络环境,把每一个情形都给他标明,这样的话就更细致一些,更方便我们去测试,不过有时候我们测试工程师也偷懒,包括我们测试经理审核的时候为了简便就让我们写的简单一些,这个呢就是测试用例。
真正在公司里面我们写测试用例主要是为了给问题给测试出来,大多时候写测试用例的时候我们主要是结合这个公司业务和我们的经验来写的。比如说我上家公司做的是一个教育平台,教育平台上呢有很多教育产品,它是做小学教育的,里面就有一些这个数学、语文啦这些科目的信息,那我们的测试用例的是要跟这个教育平台相关联的,我举个例子,我们一进这个平台的界面,我们要搜索一个三年级课程吧,我点击搜索三年级,然后就把三年级的全部课程罗列出来了,这就是按照我们的业务进行分析怎么写这个测试用例,相当于去写一个搜索的测试用例,当然呢这是根据业务分析的,另外呢去写这个测试用例的话都有一个理论的方法.
你比如说我们最常用的这个方法吧就像等价类划分法,对于等价类划分法就是在有输入参数的情况下我们将这个输入参数分为有效等价类和无效等价类,有了这么一个理论的方法我们在做测试的时候能更简便一些,比如说我刚刚所提的那个教育平台,里面就有这个搜索的功能,搜索框里面要写的内容,有效等价类的话就是我们搜索范围内的内容,你比如说这个中文字母可以搜索到,如果说其他的一些特殊符号就搜索不出来,那个呢就属于无效等价类,包括像注册登录这些最简单最基本的功能呢,我们也经常会考虑使用到等价类划分法来写这个测试用例,这样考虑的话会让我们的测试用例更全面一些,这个呢就是等价类划分法。
等价类划分法还有这个边界值方案,边界值是这样的,我们在测试应用程序的时候好多BUG都是出现在边界上的,举个例子就是登陆软件,这个用户名我要求呢是8-18位的字母加数字的组合,并且要有大写字母和小写字母,我们用边界值的时候就要考虑到正好是8位的时候,纯字母能不能满足条件,大写字母小写字母加数字能不能满足条件满足条件,因为程序员在做长度判断的时候,咱们从逻辑上来判断的话它有可能本来是大于等于,它一不小心写成大于的话咋们这个判断就属于判断有误了,所以呢,边界值呢就很容易出现问题,除了输入框要考虑边界值,很多情形其实都是要考虑的,比如说我们做分页操作的时候,像那个教育平台它里面有很多课程,很多课程的话,一页肯定是排不开的,我们就有下一页,那我们的其实是对一页设置展示课程是有限制的,我们那个一页设置展示16个,四行四列,一页16个,我们就要考虑假设是20个的情况下,它就变成四行五列或者说五行四列,它会不会一下子展现出来,或者说刚好16个的情况下它能不能展示出来,17个的时候应该是一页加其它一页多一个,展示的时候有没有问题,这个呢就是我们边界值的一个做法。
除了边界值的话,我们测试用例里面还有因果图,因果图的话就是我们输入原因,得到一个什么样的结果,不同的输入原因得到不同的输出结果,这个呢就是因果图,其实在做的时候写因果图是比较麻烦的,因为画的那个图有各种符号挺乱的,有可能把自己给搞晕了,但是呢,我们可以因果图生成判定表.
这个判定表法的话相对来说比较明了一些,就是有这样一个条件我们标1,没有的话就标0,这样话有什么的条件得出什么样的结果我们就可以很明确的得出了,通过这个判定表我再给它生成相应的测试用例,这个测试用例就比较合理了,覆盖面也比较广一些了,这就是判定表这块了。
除了判定表的话,在公司写测试用例的时候我们还会用到场景分析,就是我具体的分析我的业务在这样一个场景下面应该是怎么样一个结果,另外一种场景又应该是什么结果,还有就是我刚刚所说的那个教育平台,当你在搜索框输入数学的时候肯定是得到数学的课程,当你随便输入一个字符的话应该是得不到任何一个课程然后呢给出一个相应的提示,这个其实就是场景分析!
然后呢,除了场景分析还有这个错误推断,因为我们做测试的时候是需要帮程序员寻找BUG的,应该是快速的找到这个BUG的根源,让他尽快的解决,那么当出现错误我们可以用我们这个几年的工作经验加上对软件这么多年的了解,大约能够定位它一个位置,然后再去验证是不是这块出的问题,然后跟程序员讨论的时候能够方便他们快速去解决问题,这就是错误判定法。
还有一种比较特殊的是正交表发,这种呢用的相对来说比较少一些,就是我们有多个输入条件情况下,多个输入参数又有不同的条件,可能是几的N次方,几的几次方,这样的话我们在写的时候效率就非常低,我们不可能把所有的都给他覆盖掉,这种情况下我们就会用到正交表发,正交表呢,我们可以在互联网上直接查到他这个相应的公式,然后把它套进去,它的思想就是尽量的让我们的输入条件均匀分布,从而减少我们写测试用例的个数。这个呢就是几种理论的方法!
当然啦,在写测试用例的时候我们还要考虑很多情况,你比如说要考虑软件情况、硬件情况还有一些比较极端的情况,还要考虑不同的压力负载情况,这些其实都是要考虑的,另外呢,写这个测试用例也不是我简单一写,然后去测试就OK了,我们测试用例要尽量写的规范,方便我们在日后测试,甚至说在做回归测试的时候把这些测试用例再用上,并且这个测试用例在我上家公司的时候我们写完会相互的去评审一下,评审写的对不对。还有就是我们在公司做测试有一个原则呢,就是尽早的进行测试,比如说我上家公司,我刚进去的时候软件正在开发过程中,还没有开发完,这个时候呢作为测试的话我们肯定是不能闲着的,这个时候呢,我们除了去写测试计划,我们呢就应根据产品给的业务需求、产品说明啦,还有效果图、原型图了,我们就开始写测试用例了,这个写呢,一开始的话可能会显得有点盲目,但是实际上它的作用很大,就是我们尽快的让我们的测试执行,尽早的去分析我们的业务,当之后我们程序员开发出来的时候,我们能够尽早的去测试,从而尽早的能够给问题测试出来解决,避免上线的时候有更多的风险,这个呢就是我对测试用例的一个理解,当然我刚刚讲的大部分都是功能测试用例这块。
54.手机端测试话术
面试官你好,我给你讲一下手机测试,其实手机测试跟web测试差不多,流程上也差不多,流程是这样的一是需求的评审,当产品出来需求文档或者产品原型图出来之后,我们就按照这个需求文档来进行评审,评审的话我们主要是小组去讨论,这个需求怎么去测试,怎么去写测试计划,怎么去开展这个测试工作,手机端测试也是这样的,然后写测试用例,依然说web端测试的话,程序一开展 项目一开展,我们就写这个测试用例,手机端也是,程序员在开始写app得时候我们就开始测试,进行一些单元测试。然后执行测试用例,把我们一开始写好的测试用例去执行,最后我们写成测试报告, 这是这一块。
然后手机端在测试和web端不同的地方,我跟你介绍一下,第一点就是功能测试 ,我们手机做这个功能测试时候要根据公司的业务和流程去做,当然要考虑一些特殊的地方。
你比如说缓存这一块,像手机上就有缓存这样的功能,之前我们做一个app的项目,这个APP里就有图片缓存,对于图片一般他是比较大的,如果说用户每次从网上给他加载的话,这个效率比较低,所以说图片就有一个缓存的功能。
然后就是手机端在功能这一块还有下拉加载,上拉刷新的功能,下拉加载就是不管有没有最新的都给他随机的来几条,现在像主流的应用. 比如网易新闻,搜狐新闻,他可能本身已经是我看到最新的新闻,但是下拉的时候他还会有新的新闻,这样就可以提高我们用户的体验度,让用户感觉一直有最新的东西,这是下拉加载这一块。
然后其他的一些功能你比如说输入框啊,这些和WEB端差不多.然后就是手机在界面跳转这一块,要注意的就是我们在做界面测试的时候,有些时候他的界面会卡顿,有时候也会出现黑屏的效果,比如在我上一个应用的时候,我们在测界面跳转的时候,有一个界面跳转到另一个界面的时候,然后他就会卡顿一下,然后会出现一个间隙,然后当时就跟开发去提一个bug,然后开发就发现在这个界面跳转过程中有耗时的操作,后来就做了一个调整,在测的时候就没有这个问题了,这个就是讲的功能测试。
再就是像安装卸载测试,这个也是经常要考虑的,因为手机安装的时候有可能是在手机自己的网站上下载的,比如说上一个应用,我们是做的p2p的金融类型的项目,现在这个p2p应该在早两年比较火,就是我们个人可以像个人去借钱,一个信贷的应用,安装卸载这块呢?他除了在应用宝或者这个豌豆荚应用市场能够下载安装,华为市场Android市场都能下载,他还可以从我们官网上下载,如果从我们在官网上直接下载的话,安装和卸载就需要我们自己来考虑,在安装的时候我们需要判断之前有没有安装过,版本问题,比如说之前有安装这个版本,就相当于这一次安装是一个版本升级,那这个版本升级的话,我们要保留原先用户的数据,然后给他迁移到新的应用里边。同时在我软件安装结束之后呢,我们要去判断一下apk的安装包有没有删除掉,这样可以为用户去节省时间,这是安装这一块。
当然卸载的话,咱们基本上就不做操作了,因为APP卸载也比较简单,用户一拖就能卸载。关于软件升级的话,刚才也提到一点点,对于软件升级,往往我们要做的就是数据的迁移,你比如之前说有用户的数据他可能存到之前的数据库里,就像手机应用里边的数据库“sqlite”,我们升级的时候要去测试这个数据有没有迁移过来,如果说没有迁移过来,就跟这个开发去提,让他在这个数据库升级上面去做一些优化。
还有一些像登录测试这些功能,现在手机上主要的登录特点的话可能就改了,可能就会牵扯到手机验证码这一块,比如我们上一个应用p2p,因为它涉及到钱这一块,个人信贷嘛,所以每一次登陆都要求是手机验证码去做一个判断,就是说当我点击登录的时候呢,除了输入我自己的密码呢,还要去发送一个验证码,这个验证码发送过来之后,我们要去做一个比对,如果比对成功的话,用户才能够登陆。当然像简单的输入框web端测试也是一样的,你要去判断用户名,密码这些信息。这个都要去判断,我就主要的说一下验证码这块吧,验证码在测试的时候就要考虑能不能重复的去发送验证码,在我上家应用我是这样来做的,就是我们的需求本来就是这样的,就是用户点击一次就发送一个验证码,有没有发送成功先不考虑,就是用户不能频繁地去点击,当他点击一次之后,我们需求就要求把这个按钮变成一个淡色,就是比较淡的一个颜色,然后60秒之后才能够重新的去点击,然后我们在测试的时候这一块就出现问题了,程序员写的是60秒,然后60一直往下走,但是走到两秒的时候就变过来了。然后我们就提了一个时间差的bug,其实这个问题解决起来也好解决,他需要把时间调准,另外他这个判断也出现了问题,还有就是那个按钮要禁用,就是当发送出验证码之后不能连续点击,要把那个按钮给禁用了。通常咱们做这一块的的话,就可能不同的公司有不同的要求,你比如说咱们有的公司可能是要求五分钟之内验证码发送的次数不能超过三次,这个也是我们功能测试多一些,就测试这个问题。
接下来就是安全性测试,安全性测试就牵扯到一个权限问题,在这一块测试的话,我们主要就要考虑用户登录或者没有登录的问题,只有用户是在登陆状态的情况下,才能去操作他自己的信息,当然可能也会用到web端里的一些cookie但是在安卓里这个cookie比较少但是也会用,比如说超时这一块需要我们去判断,我上家应用就是判断两个小时没有登录的话就需要重新登录,这是安全性测试这一块。
接下来是消息推送测试,消息推送这一块我们就要结合后台,比如说我们上个p2p项目消息推送这一块我们是集成第三方的sdk,集成的极光推送,那这块我们要测试的话就要先登录极光的后台,然后在激光上面推送我们的信息,那个我们做的比较简单,只做了群推,就是一个消息推送给所有的人,经常就是我们公司里的一些公告信息,我们要做一个群推,推送这一块我们要考虑的点比较多,你比如说我们的应用在前台,应用在后台,锁屏和不锁屏的情况,还要去考虑应用在操作的时候,弹出这个推送消息是否能够点进去 ,跳转到这个应用里面,这些都是我们要考虑应用推送里面的测试点,我们要考虑的。
接下来就是前后台切换,前后台切换这一块,我们测试的是比较频繁的,他往往就有这样的情况,就是可能我的应用在前台的时候就已经加载出好多数据,然后数据正在加载的过程中我突然切到后台,那这个数据是加载还是不加载呢?这一块我们就要去测试,之前做过一个视频的项目,视频的项目主要就是播放视频,前后台进行切换的时候就要考虑视频状态的一个切换,比如说切换到后台的时候,视频要做一个暂停的状态,然后当我再切回来的时候那个按钮界面就应该发生一个改变,本来是播放的,正常播放的状态,当我切换回来的时候,应该有一个继续播放的按钮让我去点击,当我点击按钮又能正常播放。这个我们在测试的时候就出现了一个问题,当我们切到后台的时候他没有做判断,确实视频停掉了但是按钮还是一个播放的按钮他就没有调,界面显示的按钮依然是正在播放的按钮,这样就跟我们的需求不一样了,我们就去调这个问题。然后视频播放还要考虑时间轴的问题,就是播放时间和我们视频的时间不是完全对等的,尤其是播放到最后显示的剩余多少时间不准确,另外视频在播放的时候有黑屏或卡屏的现象,我们在测试的时候也经常常见,其实真正的用户刚刚打开,他的网速可能不好,他的业务是什么业务呢,应该是有一张视频的图片,他截取的图片,覆盖在上面,然后在点击的时候才真正的去加载视频才能够正常播 放,其实一开始是一个假效果,一个图片遮挡的效果,这个效果做不好的话就会出现一个黑屏,这是前后台切换这一块。
对于ui测试的话我们主要要考虑的是跟这个产品效果图是否匹配,产品效果图这块呢,就是UI给我们设计的那个产品效果图,其实是非常精细的,像我们这几家公司吧,UI都是比较负责的,他具体到每一个按钮的大小,具体的多少个像素,然后之间的间距多少个像素,这些他都是标的比较清楚的,那我们做测试的时候呢,就要认真的去比对,其实呢,我当时在比对的时候,我还特意用了一个小尺子,然后去比对,他这个大小,因为有些程序员在用的时候,应该没有调好这个分辨率,他应该是把UI设计的图给弄混了,就导致那个图标特别大,当时我们纠缠这个问题的时候呢,我还特意拿了一个小尺子去测,最后我们去把这个问题给开发呈现了一下,然后就改了这个问题,当然,UI测试要考虑的问题很多,比如说弹框这一块,现在这个弹框,尤其是手机上的这个弹框要求非常高,好多是自定义的效果,你比如说,是否要删除一个界面啊,是否要删除一个数据啊,包括我们跳转界面啊,进行一些逻辑操作,都会有一个弹框,而这个弹框现在要求的非常漂亮,非常炫,这块呢,其实有些程序员,他这个水平还不太够,他把那个效果呢,做不到我们产品所设计的那个效果,这其实呢,本身就是一个BUG,还有,就是简单到弹一个小条框—吐司,就是弹一个小条框,网络连接,网络断开的那个小框,这个呢,弹得时间我们在设计的时候都是有限制的,如果说程序员在弹出这个时间不匹配的时候,我们也要提BUG.
还有就是这个兼容性测试,手机兼容性测试的话这块范围就广了,比如说像Android平台的话,现在碎片化确实比较严重,我们在测试的时候,确实是比较头疼的一件事情,因为源代码都被改了,华为、小米、vivo、各种三星的等等,这个在测试的时候,会导致在测的时候很难测,那我上家公司是这样一个策略,公司给我配了7、8台测试机吧,不同品牌的、不同操作系统的,不同版本的,我们去做这个兼容性测试,这个兼容性测试也容易出现问题,在神魔时候容易出问题呢?就是在牵扯到我们系统本身的应用的时候,比如说蓝牙、JPS、打电话这些应用的时候,他可能就做了一些修改,像现在的小米是米UI、华为是EMUI,他对这个系统做了一个修改,在测试的时候都要去考虑这块的问题。其实我们也是有一个绝招,就是我们公司在产品快要上线的时候,我们就会对它进行一个云测,我们上家公司用的云测平台是这个腾讯云测,我们过一段时间,会把我们这个ATK给它传到云平台,然后选择这个Tap100机型对它进行测试,这个云测它其实做的比较强大的,不光可以测兼容性还可以测性能,还可以把各种问题给我们反应出来,然后我们在根据他反应的问题进行复测,复测完了,如果有Bug的话,我们再给开发提问题,这个就是兼容性测试。
另外就是网络切换测试,这块其实非常重要的一点,现在好多应用都会考虑这个,比如拿我之前的那个视频软件来说,它里面有播放视频,我们最初的产品设计时候就没考虑网络切换这块,当播放视频的时候,有可能突然做了一个网络支持的切换,我们的视频当时是继续播放状态,后来我们测试就提这个问题,这个会导致客户的流量下降的非常快,然后我们就要求产品改了这块,改完之后开发再做的时候就会有一个提示框,当这个wifi切换到3G或4G网络的时候,咱们就有个温馨提示,是否要继续播放,现在已经切换到这样一个网络状态,这样做呢用户体验就会好一些,不然就会导致流量骤减的情况,用户体验就下来了。
还有就是弱网测试,其实弱网测试,真在公司里面做的话还是很繁杂的,弱网情况还是比较多的,我们弱网测试是这样做的,下载一个软件,这个其实比较简单,比如管家之类的软件我们去限制我们这款App的网速,这样的话它的网速就下来了,在弱网情况下我们去考虑渲染界面会不会导致界面错乱,然后加载图片看这个图片能不能加载出来,其实我们那款应用最后都没有做修改,我们那个图片在弱网情况下它加载不出来,就会有个加载失败的效果,你如果说像人家微信的话,做的就比较人性化了,它那个图片加载有一个加载的效果框,然后有一个小进度条,它会按照那个进度条进行加载,如果说加载不成功的话,用户也会知道是我的网络问题,但是我们那个最后提了,产品说太复杂然后就没有改,这个就是弱网. 当然这个弱网还要考虑好多种情形,比如说我们在做IM也就是说相互聊天的这种情况下即时通信,相互聊天的情况下就是说,我给你发送信息,在弱网的情况下有可能发送失败,发送失败的时候可能我还不知道,我就重复的发,这样的话就会有一个重复请求的过程,当网络调好的时候,就会有一堆请求,批量请求是要控制的,开发要去控制这些请求的,这就是关于网络环境这块了。
接下来我们做手机端测试的话,我们会用到一些自动化的工具,比如我们在公司里就会用到Monkey,做这个随机和压力测试,对于这块我还是比较熟的,因为我之前接触过这个Linux操作系统,我对一些指令比较熟。所以说做这一块我就比较擅长了,比如说常用的adb指令,用起来都比较娴熟了,接下来就是这个Monkey指令,我就简单的介绍下我们Monkey怎么做的,通常我们做Monkey测试,就是测这个模块测这个功能点,我们bug测得差不多的时候我们会引用这个,因为它是随机操作嘛,然后Monkey测试我们是这样做的,我们会设置我们执行的条数执行多少次,我们通常上家公司在做的时候通常就设置3、5万次吧,然后3、5万次这个执行时间就比较长了,当然我们还会设置这个时延,设置这个几十毫秒的时延,更加像用户的操作,还会设置一些种子,比如说程序员有可能让我复现这个bug,我要给他指令这个种子,我这次测试和下次测试呢得到的结果是一致的,这样就不会导致我们测出来问题给程序员报告,程序员说让我给复现一下,结果我复现不了,所以就不会有这种情况,还要设置忽略超时,忽略崩溃这种情况,我们都要去设置,还要去指令我们的包名,这些都是Monkey测试里面的内容。
在接下来就是手机上有性能测试,手机性能测试的话,我们其实主要测的是什么呢,像简单的一些数据,比如CPU和内存,其实我们做测试的话比较少,因为开发呢本身就有开发工具,他自己就能测出来,比如说开发用的eclipse或者Android studio,在Android studio里本身能显示出应用内存大小的,他们自己就去做了,这个调优,当然有些太夸张的情况我们就会测,我们也会通过adb指令这种方式去看下我内存占用CPU的情况。太大的话我们就要提了,说实话,现在一般应用占用不是特别大就不算是bug了,因为现在手机的内存也比较大了,不像之前1G现在手机一般能到4G,其实在主要性能测试的话,我们测得是后台,因为像前台你一个人用,性能并没有那么大的影响,而后台我们可能有1000万的用户,像我们上家公司开发的那个APP,下载量光在华为的话就有几十万,总共下载量超过百万了,上百万这个并发量就比较大,就要对这个后台做这个性能测试,对于手机端我就先介绍这么多吧。
55.接口测试
咱们在公司里面,做接口测试的话,其实用的是比较多的,如果从测试阶段来看的话,往往在集成测试的时候会做这个接口测试,集成测试是什么阶段呢,就是单元测试做完,单功能已经实现,进行多个模块去整合集成,或者说一个模块的功能完成之后呢,去做这个集成测试,这个时候我们会考虑到模块与模块之间的接口是否有问题,还有的时候就是在开发的时候,前台和后台是完全分离的,我们想要测试的话,可能还没有界面,但是呢就有必要去测试一下这个功能,是否实现,于是乎,我们就会用到接口测试。
接口测试的话,就是我们具体在做的时候是这样来做的,首先呢,这让我们有一个准备的阶段,要准备什么东西呢,主要就是接口的素材,像这个接口的话,一般情况下,在公司里面都会由开发写一个接口文档,在最开始呢,我们要去审查这个接口文档,一个是本身的接口文档是否规范,然后接下来就是根据这个接口文档进行测试,测试的话就要考虑我们接口文档里面的哪些输入参数输出参数这些东西,这是我们准备阶段。
然后开始测试的话,其实接口测试我们也要写测试用例,接口的测试用例和普通的功能测试用例也差不太多,我们通常也会有这个编号啊,操作步骤啊,输入参数啊,响应结果啊,这些都是要有的,再就是对接口结果的一个分析,就是执行这个测试用例,对这个测试用例结果的一个分析,这个结果的话,我们主要是比对,主要是比对和这个接口文档的响应结果是否一致,然后这块的话有几个注意事项吧。
我先说一下,第一点就是接口在测试的时候要有一些规范,比如说我们会要求数据传输的类型格式是json类型,对于json的话,他都是key value方式的数据,然后呢,我们会要求它有一个状态码,我们会定义一些状态码!200的话,其中200代表的是请求成功,当然在接口里面数据会成功处理,或者说数据没有问题,然后的话还有其他一些状态码,还有就是我们像message说明你成功或者失败的话,都有一个说明,还有就是像我们展示的数据,可能是多条目的,这时候呢就会有一些像集合,集合这个处理的话就是开发里面常用的,这是这个,然后呢还有其他的要求,比如说,我们看这个接口文档输入输出参数是否是必须的,然后不同的输入输出参数得到的结果,并且呢,我们要尽量的去屏蔽这些关键词,比如说像Java这门语言的话,他有一些关键词像public,static这些关键词在解析的时候容易有问题。
还要考虑的就是安全性问题,涉及到个人信息,像这个个人账户,密码,还有一些其他信息的时候呢,我们就会要求是要有加密的,接口传输的过程中,是要有加密的,这个呢,其实就是我们接口测试整体的一个流程。
当然在公司里面做的话,我们会用到一些工具,比如说我在公司里面常用的就是postman,这个也比较好用,对比了好多工具,觉得postman更加好用一些,postman的话,我就简单讲一下,我是怎么用的吧,最基本的用法的话,你可能也知道,get请求和post请求,postman里面其实有很多功能点,大部分测试是没有用到的,比如说我们公司在做这个接口测试用postman的时候,我们会对每一个模块,单独的去给他新建一个项目,就是在postman里面去新建一个项目,然后呢去写好多接口的测试用例,其实就是新建一个请求,这个请求的话,get请求就不必说了,他就是请求参数在地址栏后边,然后呢post请求的话,我重点来讲一下,就是我们post请求里边它可以传输多种类型的数据,比如说,post里面我们可以肯定form-bata那种形式还有像raw这种形式,raw的话就可以传输各种报文啦,比如说有时候我们的数据类型是xml类型,这时候我们就会用到报文的形式,然后呢raw的话,我们还可以上传文件,比如说我们去做这个上传文件的测试,上传一个头像,这个在公司里面就会用到,这个post方式,另外的话,咱们再写这个接口测试的时候还可以去给他设定一些参数,比如postman里面呢,她其实是有一些脚本代码的,其实就是js的代码,可以去设置我们的全局或者是环境变量,这个其实就是参数化的一个过程,其实好多接口测试工具都会有参数化,另外呢,还有检查点,其实你要做测试的话没有检查点,这个测试正确啊,或者是错误啊,咱们其实不好分析,我们就可以在哪有个paisi,然后去设置检查点是否包含我们想要的状态码,这个是检查点这块。
还有呢就是在postman里面,我们可以去批量的执行测试,它里面有一个就是对项目批量的执行,执行的时候呢可以去设置请求的迭代次数,比如说我们请求迭代三次,十次,然后呢再去指定他的思考时间,这个都是可以指定的,然后我们就可以拿到接口测试的结果,接口测试的话,我们在公司里面大约就是这样来做的!
56.性能测试
各位面试官大家好,给大家讲一下性能测试这一块。首先呢,对于性能测试这一块,在公司里面还是比较重要的一点,就是咱们在做产品上线的时候呢,你不可能仅仅是完成功能测试,你要把这个性能测试、安全性测试、兼容性测试这些全都做到位之后才能去上线。当然了,我们去做性能测试的话,就需要有性能需求这一块,通常是由产品经理或者项目经理去提,当然了有些时候我们在公司里面他们并不去提,但是就需要我们做测试的比如说我们自己或是测试经理去提相应的需求。对于这个性能需求也不是简单的一句话去描述一下就可以,不能说我们这个性能需求是好或是坏,或者是说简单的去描述一下响应时间快或是慢,我们要有一个具体量化的数字,比如说我们非常简单的一个例子,我们要求一百个并发用户的时候,平均的响应时间不超过三秒,然后呢这个事务的通过率必须是在百分之一百,然后这个错误率的话是零错误,并且这个吞吐量,我们响应的这个吞吐量要求是达到多少,或者是我们流量的吞吐量达到一个具体的数值。关于性能需求这一块,我们还要考虑多方面的因素,你比如说我们要考虑用户的需求,对用户这一块,他的需求可能就是简单的体现在时间上,比如说一个页面渲染的时间,这一块呢,我们可能就会提到一个时间原则,就是2、5、10原则,2、5、10的话就是我们通常认为我们的请求在两秒之内得到响应的话是认为比较快的,2—5秒的话可能是用户比较能接受的,5—10秒的话其实是比较慢的,超过10秒的话通常我们就认为做得非常差了,会有一个2、5、10的原则。但是有些公司呢他提的可能就是3、5、8的原则了,同样的道理!然后再就是竞争产品的一个需求,通常我们做一款产品,我们会考虑竞争产品它能够达到的一个性能指标,比如说我们要做这个招聘网站,我们就要跟智联,58去比,然后我们要做旅游网站的话,就要跟途牛,携程他们去做比较。通常的话,在一个产品类型里面,我们要求自己产品的性能不能比人家低太多,一般情况下就要求不能低10%,或者是20%,但是也并不是要求比他高很多,因为一高的话可能对于我们的话这个成本就很大,除了用户和这个竞品这一块的话,还会有相关的标准。因为说咱们本身是有一个软件行业的一个标准,像这个ISO9000那个标准,这个是关于需求这一块。你比如说我们上家公司,我们做的一款产品,它里面是有视频播放这个功能的,那我们这款产品是教育类型的,那里面就是有教育视频,然后提这个性能需求的时候我们就提的是在500并发的时候,一个普通的页面渲染的要求是在3秒之内给它渲染出来,在这个500并发登录的时候能够保证这个错误率是在1%以内,这是我们上家公司的这样一个需求,这是我们上家公司的一个需求,我跟您说一下。至于说怎么去做性能测试的话我们通常会考虑这么几个方面,第一点:我们测试一个软件或者是一个网站,我们要确定关键路径,什么叫关键路径呢,就是说咱们这个网站里面其实有一些像这个比较关键的页面,你比如说主界面,这个是我们访问这个软件必经之路,还有像登录注册,还有一些关键的业务,你比如说网站里边要查看自己的信息,或者是要购买这个课程,这一块我们都会认为是关键路径,那我们在做测试的时候就会测试这些关键路径,把它的接口位置给它进行一下并发测试,这是第一点;第二点呢,我们就是要确定我们在测试的时候应该是设置什么样的参数,从专业上来讲的话,咱们就叫做输入参数,你比如说我们设置多少的并发,然后呢要设置用户的思考时间,用户思考时间就是咱们要模拟真实用户的话,用户他是有个思考,就是间隔的一个时间,再就是我们要测试这个迭代次数,也就是重复的一个次数,因为你不可能测试100个并发的时候一下执行完毕,其实我们在测试的时候要测试一个稳定性的,你可能就要设置它的执行次数,比如说100个并发同时执行100次,然后间隔时间是5秒,另外我们还要去设置其他的参数,比如说我们加载的方式,像我们加载方式的话,有可能是递增加载,也有可能是顺时加载100个用户,是这种方式,这是这个设置参数这一块。当然了我们也会去要一些参数,我们怎么去反应我这个性能好或是坏呢,我们会有这个像吞吐量,像这个响应时间,平均时间,还有一个90%的一个这个请求低于某一个时间,这个在Jmeter里边就叫做个90%Line,还有像这个以流量计算的一个吞吐量,比如说我们去访问一个网站,尤其是我们上家公司做视频网站的话其实这个流量是非常大的,这是这一块。还有就是错误率,这些数据我们都要拿出来,然后进行分析,这是这一点;另外第三点的话,就是录制脚本这一块了,你比如说我们用的Jmeter去进行测试,Jmeter在执行测试的时候呢,我们可以单个的,去把这个接口拿过来,把它这个参数给它写上,可以进行单接口的测试,我们也可以录制脚本,录制脚本什么意思呢,就是我把我所有的操作给它录制下来,然后在执行的时候它就可以是一系列的请求,去给它执行压测,这是录制这一块。第四呢,就是设计测试啦,设计测试的话给它执行就行了。接下来就是设计测试场景了,设计测试场景的话就像刚才我所说的,包括用户加载的方式,包括其他工具里面可能会一个集合点的概念,当然在Jmeter里边是没有的。另外,第五我们就是执行测试,执行测试的话就是按照我们提前设置好的那些东西进行执行就OK的,另外的话,就是执行完我们要去进行数据的分析,刚才我也提到,就是数据分析的话,我们会把刚才我们所要的参数都给它列出来,然后去分析出我们性能的一个拐点的问题,这个就是数据分析。通常情况下我们做数据分析的话会有一个并发量,你比如说我们在100并发的时候,我们去拿到一套数据,然后在200的时候,300的时候,400的时候去拿到一套数据,那我们就可以分析出咱们这套系统最大能够承受的并发数,这是我们执行测试这一块。当然了我们做测试的时候经常要分析测试性能这一块所存在的问题,比如说我们可能出现内存泄漏,像内存泄漏,它是开发里边的专业术语,其实就是一些应该被回收的垃圾没有回收一直占用着我们的内存,另外就是数据库这一块,有可能成为我们性能测试的一个瓶颈,因为数据库这一块设计的数据量比较大,然后在做查询的时候你有可能是好多用户同时查询,有可能是由这个数据库连接池这一块造成瓶颈,导致我们数据库查询速度过慢,这块也可以测出来。另外的话,有可能就是咱们这个本身服务器的一个性能,有可能是我们本身服务器的这个CPU或内存不足导致的这些问题,这些都是我们常出现的这个问题。以上所讲的就是关于性能测试这一块。
57. loadrunner话术
各位面试官大家好,接下来给大家讲一下性能测试,做性能测试这一块我们上家公司做的是一个国企的项目,是一个管理类的项目,在这个项目里我们做测试的话用的是loadrunner,因为loadrunner其实是花钱的,国家这一块也不缺这个费用,所以就用了loadrunner这个工具来做的性能测试,我就讲一下我们用loadrunner的一些操作,以及怎么去执行以及怎么做报告,怎么去分析这一块,首先loadrunner是一个比较高级的工具,他可以支持各种协议的录制,我们在上个系统里面录制用的是比较普通的协议,http协议,这个工具脚本录制这一块也是非常智能,直接调起浏览器按照我们的操作步骤,操作整个过程都给他录制下来,录制完之后我们只需要在loadrunner其中之一的软件vug进行回放,然后看一下回放里面是否有错误,有的时候我们录制的时候没有问题但是回放的时候有问题,我们可以简单调试里面的代码,或者说有些问题他本身是可以忽略不记的,这就是回放这一块,当然了在回放这里我们可以进行一些设置,我们可以设置这个软件模拟真实用户的操作,我们可以设置里面的用户思考时间,这个思考时间loadrunner做的也非常不错,在我们录制的时候,因为咱们操作不是一气呵成的,他里面是有思考步骤的,思考时间,停顿时间的,他可以模拟或者说一个相应的浮动范围之内进行波动,并且loadrunner在记录日志这一块记录的非常详细,你可以勾选他包括一些参数的替换啦,包括一些异常信息啊,包括请求过程里边都可以给他记录下来,另外呢,loadrunner在设置的时候还可以指定我们回放的次数,比如说我想看一个多次回放的结果,这些都可以进行设置,这是其中一个软件vug里面的一些操作,其中需要特别需要注意的一点就是usersession这个参数,本身loadrunner是提供了一个官方示例,有一个惠普的在线旅游系统,他提供了这样一个功能的演示,他什么意思呢?在不设置这个usersession的这个会话,ID这一块的时候,可以正常录制正常的回放,没有任何问题但是我们去勾选了那个选项的话,他就会为用户的每一次请求产生一个唯一的id,在录制的时候我们就把这个id录制下来了,再回放的时候如果用他录制时候的id的话就会出现错误,因为他本身回放的时候,也是做了一次请求也会拿到一个唯一的会话id,我们应该是拿着自己的回放的id去进行下一步的操作,在这一块他就做的非常智能他可以直接去关联这个usersession,其实就是把它提取出来,把它做成变量我们通过这个变量去请求,当我们第一次请求的时候拿到这样一个变量,给他提取出来第二次在进行请求的时候,就取到这样一个变量进行下一次请求,这是sessionid的这一块.
然后呢刚才也提到了这参数,loadrunner在做这个参数化的时候,就非常非常简单,他可以直接在我们想要替换的参数的位置圈中,右击,去给他写一下他的参数名称,进行替换,然后这个替换的时候呢是在参数设置里面,可以用一列一列添加的方式,也可以用一行一行添加的方式,也可以以文本文档的操作的方式,去个他进行添加,这个也是非常简单的,另外loadrunner也支持事务这一块,支持的也是特别好的,我们可以直接在代码里面去添加事务,当然对loadrunner这快代码的话,我算是比较熟悉,因为有些时候你除了单纯的去录制,还可以去做一些调整,就稍微对里面的一些代码有一些了解,在他这一块代码里面我们可以给他添加事务。比如说:我们有一系列的操作,我想要看着一系列的整套操作他的一个通过率呀。他的一个响应时间啊。这一块我们就给他添加事务,这是给你讲的VUGen这一块.
然后我们具体进行测试的话,往往就是有场景的设置,那需要打开另外一款软件,loadrunner一共有三款,就是控制器那个软件,控制器软件里面呢设置的是:比如说有并发数,他管这个叫虚拟用户,你比如说我们是设置100个并发,我们就指定100个这个虚拟用户数,然后还有思考时间,然后还有这个迭代次数,这个都可以设置的,另外呢 这个用户加载的方式的话有多种方式,他其实就是为了应用多种应用情况,比如说我们想要测试在一瞬间,好多并发的情况下,我们就可以让他同时启动的方式,我们想要去找这个性能的拐点,我们想要去看我们这款软件到底是能支撑多少个并发量,那我就可以让这个用户逐渐递增的方式,这样的话当用户递增到某一个值得时候,我们就看出这个性能是否有下降的趋势,来进行这个分析,在controller这个软件里面还可以设置执行的一个时间,当然了,一旦你设置这个执行的时间之后,就是我这个负载运行测试的时间,他那个迭代次数就不起作用了,这是这块.
当然了我们在进行整个测试的过程中,要进行一些系统资源的监测,系统资源监测的话,通常我们要关注的,比如说我们关注服务器的cpu关注服务器的内存,还要关注服务器的队列,排队的一个情况,这些都是要关注的信息,这块操作也非常简单,比如在他那个框里面给他加一个度量,去选中这个服务器的ip,然后其他我们要关注的数据,比如说每秒的响应次数,事务的响应时间,然后事务的错误率,这些都是我们要关注的,都是非常重要的一点,就刚才说过的吞吐量这个值也关注上,这个我们就可以看到,整个运行过程中,这些数据的一个变化,看有没有问题,当然了,再往细节来看的话,每一个并发用户,我们都可以查看他的日志信息,比如说我们有错误,到底是什么错误呢,我们可以去打开每一个用户,在他那里去操作。去看他的具体的日志信息,这个是在控制器里面都可以看到的,接下来就是我们进行完一整套测试,当然这个时间就比较长了,可能我们一次就要做两个小时的测试,或者一次做一晚上的测试.
接下来就是分析数据,分析数据的话,会用到一个分析器,就是loadrunner里面的一个工具,给他打开,这块它非常非常的智能,比如刚才所提到的场景测试需要的东西导入进来,就可以看到他分析的数据,他会把这个吞吐量啊,每秒的点击次数啊,总的点击次数,每秒的响应,包括相应的一些状态码,都会非常清晰的去看到,然后呢,在这里面,就是做这个数据的分析啦,当然真正在分析的时候,我们要根据我们公司这款软件,这款产品一个具体产品的一个业务去做分析,这个不是说就随便观察以下数据就达到标准的,要跟性能需求去做一个对比,是否达到了我们最先预定的需求,这个是先去分析这块的报告吧,另外还有一个点,就是我们在做的时候,有可能需要提前设置一些指标,在专业术语里面就叫sla,这就是服务属性协议,比如说我们事务的响应时间我们要求是在3秒以内,那我们就可以在一开始的时候,去设置,当然了,这块还稍微复杂了,就是我们在不同并发用户数的时候,它的响应时间可能是不一样的,所以说我们在设置这个sla的时候可以非常智能的去指定,比如说我们40用户并发数以下,服务器的响应时间应该是几秒,然后40到80的时候,这个响应时间是多少,80以上,这个响应时间是多少,这是非常智能的一块设置,当然对于其他的像每秒响应次数、然后这个点击次数、都可以进行设置,都可以设置平均值,这是这一块.
然后对于这个loadrunner,它有非常强大的功能,能够导出各种详细版本的报告,比如说我们可以选择非常详细的版本,给他导出来,也可以选择pdf啊、word啊、Excel表等各种各样的形式,这个报告都可以给他导出来,事实上就是咱们在写这个测试报告的时候,有好多报告是写的非常不规范的 ,但是loadrunner在做这个报告的时候,本身比较规范的,导出这份报告的时候,通常的话比如我上家公司,导出的就是word形式,应为在他这个报告基础上,还要进行编辑,得到相应的结论,我们会在每个数据下面进行分析,看这个数据是否达到我们的要求,如果达不到我们要求的话我们会在上面注明,最后再给他来一个总结性的一个标语,比如说成员需要对这块进行优化,对那块做一个优化,就拿上个系统来说的话,其实就有一个请求,然后他的响应时间就特别长,然后呢,后来我们,就给开发去提了这一块,验证得到他数据库这一块没有做优化,后来开发就把数据库那一块给优化了一下,我们再去测得那个响应时间明显的降低了,这是这块,关于这个报告的话是这样来做,基本上关于loadrunner测试的内容的话就是这些,真正在做的时候,我们还是要关注到业务本身,来做这些测试,工具的话只是一个使用吧,ok
58.jmeter话术
在上家公司,我们做性能测试都是用的这个jemeter,对于jmeter这个工具的haul 他是(阿帕奇)出的是开源免费的,所以说现在大多数互联网公司都喜欢用jmeter来进行压测,本身jmeter性能还是不错的.
我就讲一下我对jmeter的理解吧,包括我在公司里面怎么做测试,首先我先说一下jemter测试的大体流程吧 我们通常的话 是有个测试计划 然后我们测试的时候呢会创建一个线成组
线程组里边的话 可以去指定线程的并发数 比如说我可以设置100个用户的并发 可以去指令用户的思考时间 然后去指定我们迭代的一个次数 当然了也可以选永远执行 就是有时候晚上回家
然后呢去测一下我们软件的性能给他开成永远 或者可以指定时间 从晚上12点开始 到早上5点结束 到时候在去看数据就可以 这是这个线程组
在线程组里边要设置相应的请求 通常最多数的情况下 我们是进行http请求方式的 http请求也比较简单 就是说你掌握http协议 我们需要给他设置ip 端口 请求地址 还有请求方式
比如get请求 post请求get这种请求参数在地址栏后面跟着就可以了
对于post的请求 我们可以进行上传的操作 可以使有多种数据类型 比如说上家公司就有报文这种形式的数据是xml类型的 我也可以通过post请求将这个数据给他传输到后台 然后这样进行测试 这是关于http请求这块.
在接下来就是设置相应的监听器 对于监听器这块的话 就会有一个查看结果处 就是对具体的一个请求去查看他的信息 这个信息的话也比较全面 包含了我们http请求里边所有的信息 像请求头请求行请求参数信息都可以展示 包括一些响应的信息包括响应头啊响应行啊响应实体都可以在里边看的非常清楚 然后还可以看一下这个请求是成功还是失败 他的状态码是什么东西 这个是查看结果处
我们也可以通过设置表格查看这种方式 就是对每一个请求的话都去给他看一下 你比如说他的状态码 是什么 是200 400 404这些都非常清楚了
最重要的话我感觉是聚合报告 聚合报告就是对我们这次压力测试的总结吧 在这个聚合报告里边有一些 关键的数据 比如说 我们的平均响应时间 这个是我们用户比较关系的数据
也是我们测试比较关心的 我们通常就有一个2510 原则 另外呢在聚合报告里边 我们常关心数据有错误率 就是我们经常在需求里边去要求 多少并发的时候错误率不能超过什么样的值 我们错误率这块就显得很重要了 然后的话就是吞吐量 吞吐量也是衡量我们这款软件性能好坏的标准 吞吐量在jmeter里边有两个标准 第一个就是相应的次数 我们1秒响应30次 他的一个吞吐量 另外呢一个是一流量来计算的吞吐量 就是说一秒能从服务器获取多少数据 这是关于吞吐量这样的数据
还有就是非常重要的每秒的事物数通常每秒事物数越多 就代表我们性能要好一些 另外的话还有90%的lin 就是90%的请求都小于某一个时间 这个也非常重要 因为咱们在请求的时候 难免有特殊的请求 他的响应时间比较长 如过说 我们能够判定90%在这个线内的话 他可能也能够达标 这是关于聚合报告这块
还有好多重要的地方 比如说我们测试计划里边可以设置好多参数 其实就是参数化 因为有些参数并不是固定的 我 需要给他一个变量的形式来体现 所以说呢我们就可以在测试计划里边给他 添加参数 给通过$给他取出来 这样的话就可以做到参数化
另外的话有一些控制器 常用的就有循环控制器 就是说我们在并发的基础上 可以对某一个请求设置他的去设置他的循环的次数 你比如说本来是100并发 循环次数在设置100的话那就会执行1万次 还有想这个事物控制器 想这个事物控制器我们会用的比较多一些 因为在一些业务里边 我们会认为一系列的请求可能视为是同一个事物就是一个完整的体系 我们就会有这个事物通过率这个概念 这个控制器的话就会看到一个整体的结果 就是我们事物控制器下边所有的请求他的结果都能看到 这是关于逻辑控制器这块
还有这个定时器 定时器的就是我在什么时间 执行这个请求进行测试 还有就是配置元件这块 配置元件 的话我们通常就会用到csv这样的配置元件 这个其实也非常简单 比如说我上个项目的话 我们就有一个去测试同时并发100个用户登录的时候 要求着100个 要求这100个登录 没有错误率 我们就需要100个用户 这100个用户就需要在数据库取出来 或者说我们自己将它模拟出来 就需要一个文件 这个文件随便放一个地方就可以了 我们使用csv配置文件给他关联一下 然后把里边的参数去出来 进行登录就可以 这是csv配置元件这块
jmeter录制这块 jmeter录制本身就有http代理录制这种方式 可以在工作台里边开启这个http代理服务 然后通过我们的浏览器做一些设置 这样的话我们所有的请求都会被录制到jmeter里边 这样的话我们录完之后就可以进行批量的请求了 这是这块 当然了我们在公司里边用到最多的是Badboy这种录制 一个第三方的软件 录制的话更人性化一些 他会吧我们没用的请求 比如图片js cs文件这些都给他排除掉 把我们关键的请求给他铺捉到 还可以设置检查点 参数这块都是比较灵活的 所以说我们会用到Badboy这样录制
当然有一种情况用Badboy就不合适 比如说我们想要录制手机上的那些请求 在没有接口文档的情况下 那我们录制手机的话就需要http代理服务这种方式来进行录制 这是关于录制这一块
当然除了录制的话 我们去使用jmeter的话还有好多种 这个内容 你比如说我们可以通过jmeter 去测试数据库 测试数据库的话因为懂一些java代码 所以说我知道有驱动这一块然后对于mysql基本的操作语句 增删改查多表查询的话 我也是比较擅长的 所以说呢这一块是可以做的了的 在做的时候就是把这个驱动给他添加上 我们去给他指定链接数据库的一些信息比如说数据库的url地址数据库操作驱动的类要给他配置上 要操作数据库的用户名和密码给他设置好之后呢 可以连接上我们的数据库 我们就可以用jmeter来测试 在测试的时候呢测试查询多一些 像增删改的话本身这个效率影响并不大 再说就是查询频繁一些 我们就会在里面写一些sql语句 你比如说我们在查询其中一个字段的话 判断他有没有索引这样的东西 如果说没有索引的话他的效率就会低一些 这个就会跟程序员提一下时间性能比较差 做一些修改 数据库这一块
正则提取器 正则提取器这块的话就是说我们有些请求是衔接的 比如说我们要从上一个请求里边取到下一个请求里边想用到的信息 就用到正则提取器 不是说难只需要一个简单配置 把我们想要的数据给他取出来就可以 你比如说 我们可以用一个小括号(.+)就可以吧这个内容给他提取出来 然后用到下个请求里边作为他的参数来使用就可以了 则是正则提取器
还有一些像函数的操作 我们最常用到的就是随机函数 就像我们注册的时候要求我们数据库里边用户名是不能相同的 如果说你用户名相同的话就会出错 而这个时候呢我们要求注册上万的用户的话 那这个擦拭的话就要自己去准备上万个数据 这样就很麻烦 我们就可以通过随机函数给他生成随机值这样的话可以保证我们非常大的数据量注册的话 我每一个都是随机的在操作的时候呢就需要用到一个函数助手 你比如说我们调研函数助手里边的random那个函数来 去给他指定这个随机数的范围值 指定完之后呢再到我们想要的地方去拿到他的一个变量参数 去给他写上 这样的话我们在做测试的话就会产生随机值进行测试 基本上我在公司使用jmeter就是这些功能吧
59.手机自动化
各位面试官下午好,然后呢给您去讲一下,这个我们做这个手机自动化测试这一块吧,手机自动化这块说实话在公司里面呢用的并不是太多,然后呢我之前是有接触过一些,然后我就给您去介绍一下,做手机自动化我们有几个前提.
第一,就是我们这个软件相对来说是比较稳定,然后更新是比较慢的,像现在大多数互联网公司它其实是更新比较快,然后迭代版本也比较快,你可能一周去这个重新更新一下这个产品,定一下这个产品,这种就不太适合,然后嗯好不容易写好的脚本费了那么大劲,然后你这个一个页面元素变了,然后整个脚本就废掉了,所以说呢这块是不方便的,这是这种情况。然后一些小的项目呢也不太适合啊就是适合一些大型的,然后稳定的项目有必要用这个自动化测试,因为写自动化脚本是有成本的.
那我就给你讲一下,我们在这个上家公司或者是上上家公司大家说的说上一家公司,然后用这个appium去做这个自动化测试,怎么去做的?吧因为我们那个项目呢是就是国家的一个这个APP项目,比如说是国务院什么系统是吧?然后这个项目呢它是比较稳定的,比较稳定的话,我们嗯就考虑当时就考虑要不要试一下这个自动化,然后呢我们就写了一些脚本,啊这个脚本我们是基于appium这样一个框架,现在好多其实你如果说写这个手机自动化的话,都会用这个appium啊那我们怎么做的呢哈嗯就讲一下appium的一些使用这个方法或者他流程吧 啊 通常的话也是配一下环境,配一下这个appium,我们的环境appium作为一个服务,然后是给他开启着,然后我们会用到一些组件,你比如说我们要去看我这个手机上某一个页面元素的这些信息,比如说要查看原宿的iD元素的这个名称,元素的这个类,啊你都需要有一个工具,我用的是这个安卓SDK里面自带的一个工具,啊它里边呢就可以给他打开,看到我们就跟那个WEB端那个firbug有点类似,啊去一点呢就可以看到那些信息,啊这是这个 然后这个appium它的用法的话和那个web端自动化测试也差不太多,因为它是一个体系的,啊它通过这个驱动呢去获取元素获取元素的方式也有很多,像那个通过ID啊通过name通过class name,然后通过这个xpath是吧去获取元素这个都可以用到,然后呢对于这个WEB will就是我们家的那些网页手机里边有时候也加了一些网页,加载网页的时候呢有可能会用到nexttest,然后这个CSS选择器啊这种方式去定位元素,当然少一些吧这块少一些,尤其是我们加载那web界面,其实他经常变,你这块定位元素就非常不方便了,不太适合。这是这个定位元素.
但是对于元素的操作的话跟那个web端自动化测试也差不太多,你需要啊你比如说我去清空元素。然后呢我去这个设置元素的内容,啊我去点击啊是吧?啊这些呢这个跟web测试差不太多,然后手机端这个appium它有一些自己特定的功能,因为手机本身滑动啊操作是比较多的,它有一些它是事件,它实际上可以从某一个位置去滑动到另外一个位置,还提供那个短按、长按,然后释放执行啊这些操作,啊这个都是有的。
当然我们在做那个手机端自动化测试的时候,啊其实你需要对这个人员开发有一定的了解,你需要知道什么是包名,什么是activity是吧?你需要去获取这个包名,你需要通过这个控制台去连接,通过一些adb指令去连接上,连接上之后呢去查看这个报名啊查看这个activity名称,你才能够打开人家的应用,打开之后呢才能够进行相应的这个元素的获取,才能够进行操作,啊这个这是这一块。
然后啊对于这个手机自动化测试的话,就是说我们在做这个项目的时候,就是基于有一些主线,吗比如说我们这一块呢测试总是频繁的出问题,然后可能这个版本出问题,下一个版本还出问题,当然这块模块是很少动的,然后呢我们就会给他去写出这个脚本来进行测试,也是通过这个python来写的,啊就跟我们web端的写代码是一样的。python这个代码的话我就不给您去多介绍的,这个事本身就是一门语言,我也是比较擅长这一块,啊关于这个手机自动化就给大家说这些.
60.web自动化
各位面试官下午好,给您去介绍一下我们做的这个自动化测试,那我们公司做这个自动化测试的话用的是这个selinum这样一个框架,主要我讲的是这个web端这块自动化那我就主要去给您去介绍一下这个selinum怎么去做这个测试,selinum我们在测的时候呢需要去配置一下这个测试环境这一块,呢其实就是一些软件的安装,首先呢这个脚本写的话我是用的这个python,啊我本人对这个python这一块比较熟,像这个python里边基本的这个操作,比如说像这个数据类型啊 线程操作呀 集合呀啊 字典操作啊 元祖啊 包括这个IO这一块操作都是比较熟练的,所以说呢能够用这个python啊去写这个自动化的脚本,那python环境我们自然是不能少的。其次呢我们selinum的呃它本身是有一些组件的,那我们有些时候呢就会用到录制的功能,所以说呢我就会在这个浏览器上面去给他配置一个selinum的id E软件,然后呢能够进行录制。那我在公司里面我们用的这个软件的话是用的这个火狐版本的话,我用的是47.0,因为现在这个火狐它支持这个selinum,支持的不是很好,高版本的话,装那个selinum那个IDe是装不上的,啊所以说呢我们用的是这个低版本啊可以进行这个脚本的录制,所谓脚本录制的话,就是我们在这个操作整个页面的时候,啊包括就是往那个框里边去填写东西,啊操作元素进行点击啊浏览器的前进后退,啊啊这些都会被录制到这个脚本里面,我们就可以通过这个selinum的嗯
这个id E给它录制下来,然后回报去看一下这个脚本有没有问题,这是这一块,嗯当然还有呢就是我们就是要自己去写这个脚本,因为啊像这个selinum他录制的这个idE经常会出现问题,他有一些问题他是解决不了的,比如说我们弹框的问题,比如说这个布局嵌套的问题,就像这个frame嵌套这种问题他不好解决,还有一些元素呢它定位并不是订得太准,有可能在回放的时候本身就出错了,所以说呢我们做这个自动化测试并不是特别依赖于这个录制,还是我们自己要熟悉啊脚本,通过那个selinum idE录制的我们可以给它导出来,如果没有问题的话,咱们可以直接python去执行这个脚本就可以了。
但是大部分的时候呢我们自己要进行修改一下,我会把我录制的这个脚本呢去找到这个开发工具里边,我们用的是pycharm这样一个工具导进去,然后呢去看看有没有问题去这个运行一下,如果说没有问题的话当然最好了,这样就省的我们自己去编写,有问题的话呢我们就去调试.
另外呢我再继续就说一下就是关于调试这一块,调试这一块的话,更多的时候它问题就出现在像这个页面元素抓取不到这一块,啊那就需要我们懂得就是咱们这个HTML页面这个元素怎么去获取。
那么我了解到的这个selinum获取元素的方式有很多,你比如说我可以通过这个ID啊去查找元素,通过这个name名称去获取元素,通过这个标签名称还有一些类名,这些都可以。当然我们有些时候呢就是这个种吧尤其是像hTML业务业里边有好多好多元素,是吧?你可能都满足不了我们的要求,我们不好获取我们就可以用在那个浏览器上面,同样是在我那火狐浏览器上面我去装这个firbug,通过这个firbug可以去获取到我当前所点击的这个元素的这个CSS和这个xpath路径,我们就可以通过CSS选择器和这个xpath选择器呢去找到我们的元素,这其实就是定位元素,在进行
这个操作这个刚才给您介绍的就是这个定位元素这一块,当然我们定位的元素肯定是要操作的,像那个selinum这个框架呢也提供了一些元素操作的方式,比如说呢我们可以找到这个元素、清空上面内容那就是clear,然后呢我们想要去获取上面的这个这个属性,你比如说我们有getatvbiut他啊这样的方式,你比如说你要想获取它的value值,啊你就给他准备他value比如说你想要获取到id啊都可以…想要看她们选中状态这个getatvbiut,chat这些都可以,啊然后还有像你比如说像那个div这样的这个就是占区域的这样的空间,呢它中间是有内容的,我们可以通过test去给他货取出来,啊这是这种,然后呢我们也可以去进行一些输入框的填写,就set case啊去给它写入内容,还有像这个按钮的点击操作,呢我们就有click这样的操作,这个我都是比较擅长比较熟悉的,嘛然后这个给你讲的就是关于这个元素的操作了。
当然selinum还有一些其它操作,你像我们浏览器的基本操作,浏览器的基本操作包括什么,呢你比如说我们浏览器的前进、后退,啊然后这个呃浏览器前期后退就是页面的页面跳转了,还有像能够获取我当前页面的标题,啊然后获取我的这个路径,啊这些呢都是可以做到的。他提供了一套非常非常完善的Api 然后呢我就讲一下,再我上个项目里边就是我们碰到的一些问题,那咱们其实做这个自动化测试经常碰到问题,就像这个弹窗,然后这个这个窗口切换,还有像这个frame切换这块长有问题,在我们上家公司这个前台开发那个页面里面,啊它其实是这个由frame切换的,就是咱们from side和ifm这种html切换这个标签进行切换,它里面就存在一种嵌套,我当时呃做这个selinum测试的时候,自动化测试的时候就出现这个页面元素查找不到,然后呢你不仔细去看他页面的源代码的话,还真看不出问题来,就说我
去找这个元素,明明ID也有,但我找不到,后来呢我仔细去观察了一下就是它的源代码,我发现呢他是这个哎芙瑞姆嵌套的这种形式,它里面嵌套了好多框架,那么我怎么做?呢我们都用到了selinum框架里面所提供的像这个切换这块,我们去找到我当前这个芙瑞姆的这个ID,然后呢我就能够切换比如说我层级的那种形式,你比如说我从第一层,然后呢我先找到当前的ID,然后呢我在此位置拖这个就是里层的ID,那个然后呢一直去切换,切到最底层,然后才能查找到最里层的元素,然后进行操作。当时就出现了这样一个问题,还出现就是弹框的问题,因为这个一弹框的就像我们上家做的那个项目,它里边有一些操作,他有弹框的,你不小心可能就触发一个提示框,提示框就会导致我们整套这个自动化这个脚本呢就没法再查找元素,在执行了那就需要把这些弹框给他关闭。啊其实呢像这个私人的用户里边也提供了一套非常丰富的API去操作弹框,它其实可以将我们的焦点啊其实就将我们的驱动啊转向的什么?转向我们的弹框有,弹框呢形式也有好多,我就说我们最常见的警告框这块吧,就是警告光这个可能会多一些,还有一些啊确认取消框也会多一些,那么紧跟话我可以让它消失消失,dismiss?我切换到那个框里边让他dismiss,然后这个确认的框是吧?你确认要删除,嘛比如说我们弹出这样一个框来,我要进行删除的操作,那我就让他额赛坡特接受就可以了,这是这个关于弹框的操作,当然像这个selinum还有你切换这个窗口,因为有些时候啊咱们自己公司做的那些这个项目,吧你不可能是在一个窗口里面操作,我举个例子,啊呃我们公司做的那个产品啊我们做的是一个电商平台,然后电商平台里边呢他有他有这个你比如说他有这个登录功能还有这个购物车功能,还有查看商品啊男装女装是吧?我点击那个男装的时候呢我看的是男装,然后我再去点击女装的话,假如说他上面还有其他人要去点击其他分类,它会重新再给你开一个窗口,避免的话就是你刚才点击的东西就没了。这个时候页面元素查找的时候其实是有难度的,怎么做?我们当时我也是查了好多这个api\我这个呢用的是这个切换窗口,啊它里边有个api叫四维持图文都切换到这个窗口,这个切换的时候还有点坑,呢他需要我获取我所有的这个窗口的句柄,然后呢这个python那个脚本他的那个语言呢它本身有个好处,他不像这个Java里面你只能是正正向的去获取0123索引值是吧?他还可以倒着来,倒着来的话,我就可以获取到我最新所打开的那个窗口的那个句柄,然后比如说我温都一堆吗,我-1,它代表是倒数第一个,那就是我最后打开那个句柄嘛,然后这样的话我就可以从我当前的这个窗口切换到我最后所打开的这个窗口,这样的话我就能够到我最后锁打开这个窗口里边去定位元素,啊这是这些操作吧这是就是我们在公司里边常用的操作,当然有些时候呢我们还会用到像那个
你比如说我要做一个批量删除,我指点上面那个按钮,呢它有可能反应不过来那我怎么做,呢我可以让我的这个那些小框呢都挨着去选择,这就需要我们对这个python本身比较熟悉,我们要遍历我们要循环for循环是吧?另外呢我们需要懂得就是怎么去设置它的这个点击,啊你需要把这所有的框都给他找到嘛是吧?元素查找,然后去挨个去给他点击操作上。
这是这种还有一些我们用自动化去测试这个文件上传,啊这个其实非常常见,有时候呢我们需要一张像这个头像是吧,或者是我们需要用户的上传一个文件,这个都会有用到的。你比如说我们做的那个后台,啊我们做的后台项目,呢它有从那个excel表里边去往那个数据库里面导数据的一个功能,那我需要加什么?将excel表时候给他上传到我们的服务器,啊这个时候呢就需要有一个上传的功能那上传功能其实做起来非常简单,就只需要找到那个元素,然后呢去把那个文件的路径给它设置给它,然后这样就能够上传了,点击上传按钮就很轻松的就做到。当然我们还会有像城市的这些下拉框,啊这些多选框啊等等等等各种各样的操作,这是selinum呃框架里边都封了好多操作我本人的画作自动化这一块应该是在近几个项目里边都有用过,所以说呢是相对来说比较擅长这一块。通常的话我们做自动化测试,除了以上我讲过那些知识点,呢就是对这个业务进行分析了,这一整套业务的话就是说我们比如说我这个网站有什么功能,啊按我刚才的举例就说我们做一个上传功能,吧商业功能可能有好多信息,我们都要这个给它去提交的,这个服务器,你需要就是在操作的时候呢你把这个框给他找到。当然了自动化测试呢还有一个好处就是可以频繁重复的去进行执行,我们可以给它设置循环的次数,看在这个测试功能的时候,我们频繁的去执行,有没有操作出问题的时候,然后会通过这个断言啊这种操作去判断一下,看看是否有异常信息,如果有的话我们就可以让这个开发自己去修改了。当然这一块我们还除了selinum这个框架,呢还会结合一些其他的框架,你比如说像这个html textrad这样的框架,我们会把我们就是测试的东西呢去给它生成一个相对比较完整的报告,通过这样一个框架啊再深一点的话,就是我也是自己去找了一些代码,能够把我们生成的报告啊去发送到我的邮箱里边去,然后呢你比如说我今天晚上去跑自动化,然后第二天呢我就可以收取报告看一下有没有信息,同时呢还可以将这个报告转发给其他的这个程序员或我们的测试经理,啊这样的话我们做起来效率其实就比较高。对于这个selinum这一块,我就给您去讲这些吧啊
61.测试计划
一般情况下,会由项目经理提出,当然,如果项目经理不提出的话,我们的测试经理会提出测试需求。需求中其中包含功能需求还有性能需求。功能需求,在我们公司又包含,逻辑功能,易用性,兼容性,安装卸载等功能性需求。性能需求的话,主要就是关注响应时间,成功率,CPU占有率,事务通过率,内存占有率等主要的能够反映我们软件和服务器性能的参数。
比如,对于我们的xxx项目,我们当时性能需求是这样提的,30个在线用户按照正常操作速度访问xxx功能,操作成功率是100%,而且90%的响应时间不超过4S,当并发在线用户数达到100个时,xxx的成功率大于98%,其中90%的在线用户的请求响应时间不大于用户的最大容忍时间10S。这个是测试需求。
当除了测试需求之后,我们就会做测试计划,通常我们的测试计划需要包括几大项。
像测试背景也就是要测试的这个项目的背景情况,包括项目内容,人员配备,项目模块,这些都是测试背景的内容。
62.测试报告
对于测试报告,就是对整个测试过程以及测试结果的一个文档形式的总结。我们通常会包含功能测试报告和性能测试报告。
我就先说功能测试报告吧。我就捡重点的来说吧,首先是把测试的整个背景介绍一下,然后对测试过程,测试的方式总结,比如兼容性测试怎么做的,安装卸载测试怎么做的,整个测试的流程内容要在测试报告中体现出来。还要统计测试用例的信息,比如一共写了多少测试用例,覆盖了多少模块,多少方式(兼容性,一般性能等等),还有就是通过的测试用例数,失败的测试用例数,当然最重要的就是缺陷(bug)统计还有分析。
先说缺陷统计,我们要再测试报告中统计bug的总数量,致命bug多少,严重bug多少,一般bug多少,提示性的bug又有多少。再就是各个模块的bug数量,严重程度,还有就是分类型的bug数量,比如兼容性类型bug,一般功能性bug,这个我们都要在测试报告中形成书面的文档。当然,还要做一个缺陷分析,就是分析一下哪些模块bug比较多。
当然,还有非常重要的一点,有时候为了赶商机,我们项目并不是在没有bug的情况下去上线,那我们在测试报告中必须要声明上线前还存在哪些bug没有解决。
我再说一下性能测试报告吧。性能测试报告,首先要包含项目性能需求,然后将我们做性能测试所测出的数据在性能报告上进行分析,当然会列出这些数据,比如不同并发用户时的吞吐量,CPU占有率,内存占有率等信息,我们都会在性能测试报告中呈现。然后将我们的分析,呈现到报告中。比如在测试中,是否存在cpu占有率超过我们性能需求中阈值的情况,是否存在系统崩溃的风险,系统是否稳定,系统能承受多少用户的并发访问,系统响应时间是否是能够达到我们的标准。
对以上所有的情况,都会做一些风险评估和预测。
这个就是测试报告。
还有就是,测试目标,比如我们逻辑功能的达标率是多少,界面测试和产品原型图覆盖率是多少,还有一些性能测试的内容。测试范围,对于测试范围的话,我们一般是包含一些测试分类,比如我们要测试什么,单元测试,集成测试,系统测试啥的,当然还要考虑到回归测试,随机测试,兼容性测试等等。还要包含测试输出文档,比如我们要输出测试用例,bug报告,测试报告等文档型的资料。当然还要有测试工具,功能测试工具和性能测试工具这些,还会涉及到一些自动化测试工具。再就是最主要的测试计划要有人员安排,就是谁谁谁做哪方面测试,模块安排,测试分类安排,我们的测试计划通常会有时间节点的安排,也就是测试进度,比如应该在某个时间节点完成什么样的工作,比如是测试用例什么时候做,什么时候结束,测试评审工作什么时候开展,又是什么时候结束,再比如是某种类型的测试,比如兼容性测试应该在什么时间节点完成。还有就是某个测试工程师应该在xx时间完成某个模块的测试工作。这个就是基本的测试计划的内容。
三.面试题目:
3.0面试题目:
1.界面集成测试你是怎么做的?
参考:嗯,做界面集成测试我们主要从以下几个方面:
1、同一界面的所有的元素风格需要统一、有序、整洁。
2、颜色运用适当,不能太散乱。
3、字体和格式应当适当好看。
4、提示信息应当存在。
5、有可选列表的其默认选项应当存在。
6、功能实现符合用户习惯。
2.链接测试你们是怎么做的?
参考:链接测试我们主要从以下几个方面:
1、所有链接指向了正确页面。
2、如果被链接的页面不存在,则应友好的提示并告知用户。
3、孤立的页面不应该存在。(所谓的孤立页面是指没有链接指向此页面,只有知道正确的网址才能访问。)
4、每个超链接的文字应当简洁。
5、外部链接应当有效。
测试工具有:XENU
3.WEB表单测试是怎么测试的?
嗯,做表单测试的话,我们主要基于以下的方面:
1、用户名不应为空。
2、电子邮件地址不应为空,并且@和.都应在检测。
3、有URL的也不能为空。
4、所有的选项必须都有值输入。
5、提交和取消按钮功能正常。
6、所有的文本输入框都应检查非法字符。
7、在一组单选框内同一时间应仅有一个单选被选中。
8、按TAB键移动焦点,遵行从上到下,从左到右的顺序。
4.易用性你是怎么做的?
参考:做用户体验测试的时候,我们要遵循以下三个原则。
1、测试人员必须从用户的使用场景出发,根据用户使用某功能的目的来检查界面及设计过程是否符合要求,是否足够简洁,易于操作。
2、如果设计了界面原型,我们应该尽早的对界面进行检查,不要等到系统开发后期才对界面对出建议,这时候可能迟了。
3、测试人员在发现操作不方便的时候,感觉不美观马上就要记录下,否则过了一段时间后,由于操作的熟悉可能导致一些界面问题忽略了。
5.WEB权限测试你是怎么做的?
参考:WEB权限主要可以分为功能权限,操作权限。就是说我们在测试当当网的时候,我们有分好种用户。有买家和卖家等,测试的时候我们根据系统的要求,那些用户可以使用那些功能,不能使用那些功能,那些对象可以操作,那些对象不能操作等。测试点主要有:功能权限是否存在,是否正确,操作权限是否存在,是否正确。
6.Session测试你们是怎么做的?
参考:Session测试主要指的是:Web应用系统是否有超时的限制,如果有的话就要进行SESSION测试,例如SESSION设置为15分钟,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。如果有限制的话,那我们就要进行Session测试。
7.超长字符串测试?(就是缓冲区溢出测试)
参考:超长字符串是一个比较常见的问题,我曾经的测试中用户名和密码输入框中当我输入超长字符的时候结果登陆到系统里面去了。
测试的过程如下:我们在所有的输入框中输入100到10000个字符不等,然后点击保存和提交按钮后,观察结果。
正常的情况下是:提示提交不成功,然后提示字符串超长等。
常见的问题呢,当我输入超长字符点提交后,系统响应很慢,很久才弹出一个提示。第二个的话,点提交后某些功能不能使用,例如页面消失或是程序崩溃等。
8.帮助文档(系统文档)测试你们是怎么做的?
参考:
1、检验文档的精确、不含糊、清晰、描述是否一清二楚?还是自说自话?容易看懂和理解吗?
2、检验文档的一致,产品功能描述是否自相矛盾,与其他功能有没有冲突
3、检验文档的贴切,描述功能的陈述是否必要?有没有多余信息?功能是否原来的客户要求?
9.登陆测试(WEB安全)你们是怎么做的?
参考:我们在做登陆测试的时候,主要是从以下几个方面:
1、用户登陆是否有次数限制。
2、是否限制从某些IP地址登陆。
3、如果允许登陆失败的次数为3,在第三次登陆时输入正确的用户名和口令,能通过验证吗?
4、口令选择有规则限制吗?
10.日志测试(WEB安全)你们是怎么做的?
参考:做日志测试我们要主测试的点如下:
1、我们后台的日志是否记录了所有的操作和事务。
2、是否记录了失败的过程。
3、是否记录IP地址。
4、是否记录用户名。
5、是否记录事务发生的时间。
6、如果是用户登陆的话,登陆的密码是否被记录到日志当中,这个是不能被记录日志当中。如果记的话要加密。
11.数据库测试你是怎么做的?
参考:数据库的测试主要是SQL语句的测试,SQL语句的测试主要是因为很多时候代码中都包含有SQL语句,测试的时候我们主要从以下几个方面进行:(主要按照数据库设计文档进行对照测试)
1、在边界的地方:例如BETWEEN-AND、IN、<、小于等于、>、大于等于这些地方程序员在书写的时候容易搞混和写错。
2、对0和空值NULL的处理也是容易出错的地方,我们也要对照数据库设计文档来看看。
3、有很多的程序员在写SQL语句容易丢掉限制条件,而引发错误,例如丢了相等连接的条件,例如AND或OR搞混了。
4、要注意别名别起的和某字段名重名或是同数据库的关键字重复了。从而得不到你想要的结果。
5、要检查一下引用的表,例如,有些表已经被设置为无用,但你还在用它。
12.导航测试你是怎么做的?
参考:导航测试的一重要方面是要测试WEB系统的页面,导航,菜单,连接的风格是否一致,确保用户凭直觉就知道WEB应用系统里面是否有什么内容,内容在什么地方。另外,WEB应用系统的导航帮助要尽可能的正确,在一个页面上放太多的东西往往会起到与预期相反的效果。
13.图形测试你是怎么做的?
参考:图形测试的测试点主要如下:
1、要确保图形有明确的用处,图片和动画不要胡乱的放在一起,WEB应用系统的图片大小应尽量的小,一般要能清楚的说明某件事情,一般都能链接到某个具体的页面。
2、图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩,最好能使图片的大小减小到30KB以下。
3、验证一下页面字体风格是否一致等。
14.内容测试你是怎么做的?
参考:内容测试主要是用来检查WEB系统提供的信息的正确性、准确性和相关性。
信息的正确性是指信息是可靠的还是误传的。
信息的准确性是指是否有语法和拼写的错误。
信息的相关性是指是否在当前页面中可以找到与当前浏览信息的相关信息列表或入口,也就是一般WEB站点中所谓的“相关文章列表”
15.打印测试你是怎么做的?
答:我们在测试过程中,有的用户可能会将网页打印下来。因此网页在设计的时候要考虑到打印问题,注意节约纸张和油墨。有不少用户喜欢阅读而不是盯着屏幕,因此需要验证网页打印是否正常。有时在屏幕上显示的图片和文本的对齐方式可能与打印出来的东西不一样。测试人员至少需要验证订单确认页面打印是正常的。
16.服务器相关的接口测试你是怎么做的?
答:简单的说,服务器接口测试主要对浏览器与服务器的接口进行测试,测试人员提交事务,然后查看服务器记录,并验证在浏览器上看到的正好是服务器上发生的。我们还可以查询数据库,确认事务数据已正确保存。(其实和日志测试有点类似)
17.视频测试你是怎么做的?
参考:视频测试的话我们主要测试点如下,例如:页面版式在640×400、600×800或1024×768或900×1400下的分辨率模式下是否显示正常?字体是否太小以至于无法浏览?或者是太大?
文本和图片是否对齐?
18.连接速度测试你是怎么做的?
参考:我们在做链接速度测试的时候主要是看页面的响应时间是不是太长,(这一块可以配合性能测试人员,就是他们在做并发的时候,我们观察操作的响应时间。)如果我们请求页面响应时间太长(例如超过10秒钟),用户就会因没有耐心等待而离开。另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。我们在做这一点测试的时候主要配合性能测试人员在做并发的时候,我们要观察每个链接的响应时间。
19.组合测试你是怎么做的?
一般测试完成,项目组可能要求我们要进行最后的组合测试。例如600×800的分辨率在苹果机上可能不错,但是在其它组装机和品牌机上却很难看。
20.C/S结构的安装部署测试?
答:安装部署测试我们之前的话是主要从以下的方面:
1、如果市场上有同类的软件,我们新开发出来的软件不应与之冲突。一般情况下我们会找一两款测试一下。
2、当一个新版本已被安装时,旧版本不应被允许安装。
3、卸载软件时,此软件的相关文件都应删除。
4、在安装过程中关闭电源,当打开电源之后再次安装或卸载时仍一切正常。
5、在安装前安装程序应检查磁盘空间大小是否符合安装要求。
6、安装和卸载过程都应有进度条显示,显示的进度应与实际进度一致
7、在安装和卸载过程中重启系统的次数不能太多。
8、运行软件一段时间后,卸载软件是应当可以卸载成功的,相关的文件也可以被删除。
9、也可以分别在电脑和笔记本上安装。一下就能记起这么多,可能还有一些。
3.1面试技巧一:
企业面试过程中经常提到的问题汇总及回答技巧 一
1、请你自我介绍一下你自己,
回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业很重视一个人的礼貌,求职者要尊重考官,在回答每个问题之后都说一句“谢谢”。企业喜欢有礼貌的求职者。
2、你觉得你个性上最大的优点是什么?
回答提示:沉着冷静、条理清楚、立场坚定、顽强向上。
乐于助人和关心他人、适应能力和幽默感、乐观和友爱。我在北京电子商务学院经过两年的学习及项目实战,加上实习工作,使我适合这份工作。我相信我能成功。
3、说说你最大的缺点?
回答提示:这个问题企业问的概率很大,通常不希望听到直接回答的缺点是什么等,如果求职者说自己小心眼、爱忌妒人、非常懒、脾气大、工作效率低,企业肯定不会录用你。绝对不要自作聪明地回答“我最大的缺点是过于追求完美”,有的人以为这样回答会显得自己比较出色,但事实上,他已经岌岌可危了。企业喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分。企业喜欢聪明的求职者。
4、你对加班的看法?
回答提示:实际上好多公司问这个问题,并不证明一定要加班。只是想测试你是否愿意为公司奉献。
回答样本:如果是工作需要我会义不容辞加班。我现在单身,没有任何家庭负担,可以全身心的投入工作。但同时,我也会提高工作效率,减少不必要的加班
5、你对薪资的要求?
回答提示:如果你对薪酬的要求太低,那显然贬低自己的能力;如果你对薪酬的要求太高,那又会显得你分量过重,公司受用不起。一些雇主通常都事先对求聘的职位定下开支预算,因而他们第一次提出的价钱往往是他们所能给予的最高价钱。他们问你只不过想证实一下这笔钱是否足以引起你对该工作的兴趣。
回答样本一:“我对工资没有硬性要求。我相信贵公司在处理我的问题上会友善合理。我注重的是找对工作机会,所以只要条件公平,我则不会计较太多
回答样本二:我受过系统的软件编程的训练,不需要进行大量的培训。而且我本人也对编程特别感兴趣。因此,我希望公司能根据我的情况和市场标准的水平,给我合理的薪水。
回答样本三:如果你必须自己说出具体数目,请不要说一个宽泛的范围,那样你将只能得到最低限度的数字。最好给出一个具体的数字,这样表明你已经对当今的人才市场作了调查,知道像自己这样学历的雇员有什么样的价值。
6、在五年的时间内,你的职业规划?
回答提示:这是每一个应聘者都不希望被问到的问题,但是几乎每个人都会被问到。比较多的答案是“管理者”。但是近几年来,许多公司都已经建立了专门的技术途径。这些工作地位往往被称作“顾问”、“参议技师”或“高级软件工程师”等等。当然,说出其他一些你感兴趣的职位也是可以的,比如产品销售部经理,生产部经理等一些与你的专业有相关背景的工作。要知道,考官总是喜欢有进取心的应聘者,此时如果说“不知道”,或许就会使你丧失一个好机会。最普通的回答应该是“我准备在技术领域有所作为”或“我希望能按照公司的管理思路发展”。
7、你朋友对你的评价?
回答提示:想从侧面了解一下你的性格及与人相处的问题。
回答样本:“我的朋友都说我是一个可以信赖的人。因为,我一旦答应别人的事情,就一定会做到。如果我做不到,我就不会轻易许诺。”
回答样本:“我觉的我是一个比较随和的人,与不同的人都可以友好相处。在我与人相处时,我总是能站在别人的角度考虑问题。”
8、你还有什么问题要问吗?
回答提示:企业的这个问题看上去可有可无,其实很关键,企业不喜欢说“没有问题”的人,因为其很注重员工的个性和创新能力。企业不喜欢求职者问个人福利之类的问题,如果有人这样问:贵公司对新入公司的员工有没有什么培训项目,我可以参加吗?或者说贵公司的晋升机制是什么样的?企业将很欢迎,因为体现出你对学习的热情和对公司的忠诚度以及你的上进心。
9、如果通过这次面试我们单位录用了你,但工作一段时间却发现你根本不适合这个职位,你怎么办?
回答提示:一段时间发现工作不适合我,有两种情况:
1、如果你确实热爱这个职业,那你就要不断学习,虚心向领导和同事学习业务知识和处事经验,了解这个职业的精神内涵和职业要求,力争减少差距;
2、你觉得这个职业可有可无,那还是趁早换个职业,去发现适合你的,你热爱的职业,那样你的发展前途也会大点,对单位和个人都有好处。
10、在完成某项工作时,你认为领导要求的方式不是最好的,自己还有更好的方法,你应该怎么做?
回答提示:
①.原则上我会尊重和服从领导的工作安排;同时私底下找机会以请教的口吻,婉转地表达自己的想法,看看领导是否能改变想法;
②.如果领导没有采纳我的建议,我也同样会按领导的要求认真地去完成这项工作;
③.还有一种情况,假如领导要求的方式违背原则,我会坚决提出反对意见;如领导仍固执己见,我会毫不犹豫地再向上级领导反映。
3.2面试技巧二:
企业面试过程中经常提到的问题汇总及回答技巧 二
1、如果你的工作出现失误,给本公司造成经济损失,你认为该怎么办?
回答提示:
①我本意是为公司努力工作,如果造成经济损失,我认为首要的问题是想方设法去弥补或挽回经济损失。如果我无能力负责,希望单位帮助解决;
②是责任问题。分清责任,各负其责,如果是我的责任,我甘愿受罚;如果是一个我负责的团队中别人的失误,也不能幸灾乐祸,作为一个团队,需要互相提携共同完成工作,安慰同事并且帮助同事查找原因总结经验。
③总结经验教训,一个人的一生不可能不犯错误,重要的是能从自己的或者是别人的错误中吸取经验教训,并在今后的工作中避免发生同类的错误。检讨自己的工作方法、分析问题的深度和力度是否不够,以致出现了本可以避免的错误。
2、如果你在这次考试中没有被录用,你怎么打算?
回答提示:现在的社会是一个竞争的社会,从这次面试中也可看出这一点,有竞争就必然有优劣,有成功必定就会有失败.往往成功的背后有许多的困难和挫折,如果这次失败了也仅仅是一次而已,只有经过经验经历的积累才能塑造出一个完全的成功者。我会从以下几个方面来正确看待这次失败.
第一、要敢于面对,面对这次失败不气馁,接受已经失去了这次机会就不会回头这个现实,从心理意志和精神上体现出对这次失败的抵抗力。要有自信,相信自己经历了这次之后经过努力一定能行.能够超越自我.
第二、善于反思,对于这次面试经验要认真总结,思考剖析,能够从自身的角度找差距。正确对待自己,实事求是地评价自己,辩证的看待自己的长短得失,做一个明白人.
第三、走出阴影,要克服这一次失败带给自己的心理压力,时刻牢记自己弱点,防患于未然,加强学习,提高自身素质.
第四、认真工作,回到原单位岗位上后,要实实在在、踏踏实实地工作,三十六行,行行出状元,争取在本岗位上做出一定的成绩.
第五、再接再厉,成为软件工程师或网络工程师一直是我的梦想,以后如果有机会我仍然后再次参加竞争.
3、如果你做的一项工作受到上级领导的表扬,但你主管领导却说是他做的,你该怎样?
回答提示:我首先不会找那位上级领导说明这件事,我会主动找我的主管领导来沟通,因为沟通是解决人际关系的最好办法,但结果会有两种:1.我的主管领导认识到自己的错误,我想我会视具体情况决定是否原谅他;2.他更加变本加厉的来威胁我,那我会毫不犹豫地找我的上级领导反映此事,因为他这样做会造成负面影响,对今后的工作不利。
4、谈谈你对跳槽的看法?
回答提示:
(1)正常的"跳槽"能促进人才合理流动,应该支持;
(2)频繁的跳槽对单位和个人双方都不利,应该反对。
5、工作中你难以和同事、上司相处,你该怎么办?
回答提示:
①我会服从领导的指挥,配合同事的工作。
②我会从自身找原因,仔细分析是不是自己工作做得不好让领导不满意,同事看不惯。还要看看是不是为人处世方面做得不好。如果是这样的话我会努力改正。
③如果我找不到原因,我会找机会跟他们沟通,请他们指出我的不足。有问题就及时改正。
④作为优秀的员工,应该时刻以大局为重,即使在一段时间内,领导和同事对我不理解,我也会做好本职工作,虚心向他们学习,我相信,他们会看见我在努力,总有一天会对我微笑的!
6、假设你在某单位工作,成绩比较突出,得到领导的肯定。但同时你发现同事们越来越孤立你,你怎么看这个问题?你准备怎么办?
回答提示:
①成绩比较突出,得到领导的肯定是件好事情,以后更加努力
②检讨一下自己是不是对工作的热心度超过同事间交往的热心了,加强同事间的交往及共同的兴趣爱好。
③工作中,切勿伤害别人的自尊心
④不再领导前拨弄是非
⑤乐于助人对面
7、你对于我们公司了解多少?
回答提示:在去公司面试前上网查一下该公司主营业务。如回答:贵公司有意改变策略,加强与国外大厂的OEM合作,自有品牌的部分则透过海外经销商。
8、请说出你选择这份工作的动机?
回答提示:这是想知道面试者对这份工作的热忱及理解度,并筛选因一时兴起而来应试的人,如果是无经验者,可以强调“就算职种不同,也希望有机会发挥之前的经验”。
9、你最擅长的技术方向是什么?
回答提示:说和你要应聘的职位相关的课程,表现一下自己的热诚没有什么坏处。
10、你能为我们公司带来什么呢?
回答提示:如你可以的话,试着告诉他们你可以减低他们的费用——“我已经接受过北京电子商务学院近两年专业的学习和实战,立刻就可以上岗工作”。
企业很想知道未来的员工能为企业做什么,求职者应再次重复自己的优势,然后说:“就我的能力,我可以做一个优秀的员工在组织中发挥能力,给组织带来高效率和更多的收益”。企业喜欢求职者就申请的职位表明自己的能力,比如申请营销之类的职位,可以说:“我可以开发大量的新客户,同时,对老客户做更全面周到的服务,开发老客户的新需求和消费。”等等。
3.3面试技巧三:
1、最能概括你自己的三个词是什么?
回答提示:我经常用的三个词是:适应能力强,有责任心和做事有始终,结合具体例子向主考官解释。
2、你的业余爱好是什么?
回答提示:找一些富于团体合作精神的,这里有一个真实的故事:有人被否决掉,因为他的爱好是深海潜水。主考官说:因为这是一项单人活动,我不敢肯定他能否适应团体工作。
3、作为被面试者给我打一下分
回答提示:试着列出四个优点和一个非常非常非常小的缺点,(可以抱怨一下设施,没有明确责任人的缺点是不会有人介意的)。
4、你怎么理解你应聘的职位?
回答提示:把岗位职责和任务及工作态度阐述一下
5、喜欢这份工作的哪一点?
回答提示:相信其实大家心中一定都有答案了吧!每个人的价值观不同,自然评断的标准也会不同,但是,在回答面试官这个问题时可不能太直接就把自己心理的话说出来,尤其是薪资方面的问题,不过一些无伤大雅的回答是不错的考虑,如交通方便,工作性质及内容颇能符合自己的兴趣等等都是不错的答案,不过如果这时自己能仔细思考出这份工作的与众不同之处,相信在面试上会大大加分。
6、为什么要离职?
回答提示:①回答这个问题时一定要小心,就算在前一个工作受到再大的委屈,对公司有多少的怨言,都千万不要表现出来,尤其要避免对公司本身主管的批评,避免面试官的负面情绪及印象;建议此时最好的回答方式是将问题归咎在自己身上,例如觉得工作没有学习发展的空间,自己想在面试工作的相关产业中多加学习,或是前一份工作与自己的生涯规划不合等等,回答的答案最好是积极正面的。②我希望能获得一份更好的工作,如果机会来临,我会抓住;我觉得目前的工作,已经达到顶峰,即沒有升迁机会。
7、说说你对行业、技术发展趋势的看法?
回答提示:企业对这个问题很感兴趣,只有有备而来的求职者能够过关。求职者可以直接在网上查找对你所申请的行业部门的信息,只有深入了解才能产生独特的见解。企业认为最聪明的求职者是对所面试的公司预先了解很多,包括公司各个部门,发展情况,在面试回答问题的时候可以提到所了解的情况,企业欢迎进入企业的人是“知己”,而不是“盲人”。
8、对工作的期望与目标何在?
回答提示:这是面试者用来评断求职者是否对自己有一定程度的期望、对这份工作是否了解的问题。对于工作有确实学习目标的人通常学习较快,对于新工作自然较容易进入状况,这时建议你,最好针对工作的性质找出一个确实的答案,如业务员的工作可以这样回答:“我的目标是能成为一个超级业务员,将公司的产品广泛的推销出去,达到最好的业绩成效;为了达到这个目标,我一定会努力学习,而我相信以我认真负责的态度,一定可以达到这个目标。”其他类的工作也可以比照这个方式来回答,只要在目标方面稍微修改一下就可以了。
9、说说你的家庭。
回答提示:企业面试时询问家庭问题不是非要知道求职者家庭的情况,探究隐私,企业不喜欢探究个人隐私,而是要了解家庭背景对求职者的塑造和影响。企业希望听到的重点也在于家庭对求职者的积极影响。企业最喜欢听到的是:我很爱我的家庭!我的家庭一向很和睦,虽然我的父亲和母亲都是普通人,但是从小,我就看到我父亲起早贪黑,每天工作特别勤劳,他的行动无形中培养了我认真负责的态度和勤劳的精神。我母亲为人善良,对人热情,特别乐于助人,所以在单位人缘很好,她的一言一行也一直在教导我做人的道理。企业相信,和睦的家庭关系对一个人的成长有潜移默化的影响。
10、就你申请的这个职位,你认为你还欠缺什么?
回答提示:企业喜欢问求职者弱点,但精明的求职者一般不直接回答。他们希望看到这样的求职者:继续重复自己的优势,然后说:“对于这个职位和我的能力来说,我相信自己是可以胜任的,只是缺乏经验,这个问题我想我可以进入公司以后以最短的时间来解决,我的学习能力很强,我相信可以很快融入公司的企业文化,进入工作状态。”企业喜欢能够巧妙地躲过难题的求职者。
3.4 面试100问:
1.请你自我介绍一下你自己?
回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验 ,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业很重视一个人的礼貌,求职者要尊重考官,在回答每个问题之后都说一句“谢谢”。企业喜欢有礼貌的求职者。
2. 你觉得你个性上最大的优点是什么?
回答提示:沉着冷静、条理清楚、立场坚定、顽强向上。
乐于助人和关心他人、适应能力和幽默感、乐观和友爱。我在北大青鸟经过一到两年的培训及项目实战,加上实习工作,使我适合这份工作。我相信我能成功。
3. 说说你最大的缺点?
回答提示:这个问题企业问的概率很大,通常不希望听到直接回答的缺点是什么等,如果求职者说自己小心眼、爱忌妒人、非常懒、脾气大、工作效率低,企业肯定不会录用你。绝对不要自作聪明地回答“我最大的缺点是过于追求完美”,有的人以为这样回答会显得自己比较出色,但事实上,他已经岌芨可危了。企业喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分。企业喜欢聪明的求职者。
4. 你对加班的看法?
回答提示:实际上好多公司问这个问题,并不证明一定要加班。 只是想测试你是否愿意为公司奉献。
回答样本:如果是工作需要我会义不容辞加班。我现在单身,没有任何家庭负担,可以全身心的投入工作。但同时,我也会提高工作效率,减少不必要的加班
5.你对薪资的要求?
回答提示:如果你对薪酬的要求太低,那显然贬低自己的能力;? 如果你对薪酬的要求太高,那又会显得你分量过重,公司受用不起。一些雇主通常都事先对求聘的职位定下开支预算,因而他们第一次提出的价钱往往是他们所能给予的最高价钱。他们问你只不过想证实一下这笔钱是否足以引起你对该工作的兴趣。
回答样本一:“我对工资没有硬性要求。我相信贵公司在处理我的问题上会友善合理。我注重的是找对工作机会,所以只要条件公平,我则不会计较太多
回答样本二:我受过系统的软件编程的训练,不需要进行大量的培训。而且我本人也对编程特别感兴趣。因此,我希望公司能根据我的情况和市场标准的水平,给我合理的薪水。
回答样本三:如果你必须自己说出具体数目,请不要说一个宽泛的范围,那样你将只能得到最低限度的数字。最好给出一个具体的数字,这样表明你已经对当今的人才市场作了调查,知道像自己这样学历的雇员有什么样的价值。
6. 在五年的时间内,你的职业规划?
回答提示:这是每一个应聘者都不希望被问到的问题,但是几乎每个人都会被问到。比较多的答案是“管理者”。但是近几年来,许多公司都已经建立了专门的技术途径。这些工作地位往往被称作“顾问”、“参议技师”或“高级软件工程师”等等。当然,说出其他一些你感兴趣的职位也是可以的,比如产品销售部经理,生产部经理等一些与你的专业有相关背景的工作。要知道,考官总是喜欢有进取心的应聘者,此时如果说“不知道”,或许就会使你丧失一个好机会。最普通的回答应该是“我准备在技术领域有所作为”或“我希望能按照公司的管理思路发展”。
7. 你朋友对你的评价?
回答提示: 想从侧面了解一下你的性格及与人相处的问题。
?回答样本:“我的朋友都说我是一个可以信赖的人。因为,我一旦答应别人的事情,就一定会做到。如果我做不到,我就不会轻易许诺。
?回答样本:”我觉的我是一个比较随和的人,与不同的人都可以友好相处。在我与人相处时,我总是能站在别人的角度考虑问题“
8. 你还有什么问题要问吗?
回答提示:企业的这个问题看上去可有可无,其实很关键,企业不喜欢说“没有问题”的人,因为其很注重员工的个性和创新能力。企业不喜欢求职者问个人福利之类的问题,如果有人这样问:贵公司对新入公司的员工有没有什么培训项目,我可以参加吗 或者说贵公司的晋升机制是什么样的 企业将很欢迎,因为体现出你对学习的热情和对公司的忠诚度以及你的上进心。
9. 如果通过这次面试我们单位录用了你,但工作一段时间却发现你根本不适合这个职位,你怎么办?
回答提示:一段时间发现工作不适合我,有两种情况:
1、如果你确实热爱这个职业,那你就要不断学习,虚心向领导和同事学习业务知识和处事经验,了解这个职业的精神内涵和职业要求,力争减少差距;
2、你觉得这个职业可有可无,那还是趁早换个职业,去发现适合你的,你热爱的职业,那样你的发展前途也会大点,对单位和个人都有好处。
10. 在完成某项工作时,你认为领导要求的方式不是最好的,自己还有更好的方法,你应该怎么做?
回答提示:①.原则上我会尊重和服从领导的工作安排;同时私底下找机会以请教的口吻,婉转地表达自己的想法,看看领导是否能改变想法;
②如果领导没有采纳我的建议,我也同样会按领导的要求认真地去完成这项工作;
③.还有一种情况,假如领导要求的方式违背原则,我会坚决提出反对意见;如领导仍固执己见,我会毫不犹豫地再向上级领导反映。
11. 如果你的工作出现失误,给本公司造成经济损失,你认为该怎么办?
回答提示:
①我本意是为公司努力工作,如果造成经济损失,我认为首要的问题是想方设法去弥补或挽回经济损失。如果我无能力负责,希望单位帮助解决;
②是责任问题。分清责任,各负其责,如果是我的责任,我甘愿受罚;如果是一个我负责的团队中别人的失误,也不能幸灾乐祸,作为一个团队,需要互相提携共同完成工作,安慰同事并且帮助同事查找原因总结经验。
③总结经验教训,一个人的一生不可能不犯错误,重要的是能从自己的或者是别人的错误中吸取经验教训,并在今后的工作中避免发生同类的错误。检讨自己的工作方法、分析问题的深度和力度是否不够,以致出现了本可以避免的错误。
12. 如果你在这次考试中没有被录用,你怎么打算?
回答提示:现在的社会是一个竞争的社会,从这次面试中也可看出这一点,有竞争就必然有优劣,有成功必定就会有失败.往往成功的背后有许多的困难和挫折,如果这次失败了也仅仅是一次而已,只有经过经验经历的积累才能塑造出一个完全的成功者。我会从以下几个方面来正确看待这次失败.
第一、要敢于面对,面对这次失败不气馁,接受已经失去了这次机会就不会回头这个现实,从心理意志和精神上体现出对这次失败的抵抗力。要有自信,相信自己经历了这次之后经过努力一定能行.能够超越自我.
第二、善于反思,对于这次面试经验要认真总结,思考剖析,能够从自身的角度找差距。正确对待自己,实事求是地评价自己,辩证的看待自己的长短得失,做一个明白人.
第三、走出阴影,要克服这一次失败带给自己的心理压力,时刻牢记自己弱点,防患于未然,加强学习,提高自身素质.
第四、认真工作,回到原单位岗位上后,要实实在在、踏踏实实地工作,三十六行,行行出状元,争取在本岗位上做出一定的成绩.
第五、再接再厉,成为软件工程师或网络工程师一直是我的梦想,以后如果有机会我仍然后再次参加竞争.
13. 如果你做的一项工作受到上级领导的表扬,但你主管领导却说是他做的,你该怎样?
回答提示:我首先不会找那位上级领导说明这件事,我会主动找我的主管领导来沟通,因为沟通是解决人际关系的最好办法,但结果会有两种:1.我的主管领导认识到自己的错误,我想我会视具体情况决定是否原谅他;2.他更加变本加厉的来威胁我,那我会毫不犹豫地找我的上级领导反映此事,因为他这样做会造成负面影响,对今后的工作不利。
14. 谈谈你对跳槽的看法?
回答提示:(1)正常的"跳槽"能促进人才合理流动,应该支持;
? ? ? ? ?(2)频繁的跳槽对单位和个人双方都不利,应该反对。
15. 工作中你难以和同事、上司相处,你该怎么办?
回答提示:①我会服从领导的指挥,配合同事的工作。
②我会从自身找原因,仔细分析是不是自己工作做得不好让领导不满意,同事看不惯。还要看看是不是为人处世方面做得不好。如果是这样的话 我会努力改正。
③如果我找不到原因,我会找机会跟他们沟通,请他们指出我的不足。有问题就及时改正。
④作为优秀的员工,应该时刻以大局为重,即使在一段时间内,领导和同事对我不理解,我也会做好本职工作,虚心向他们学习,我相信他们会看见我在努力,总有一天会对我微笑的!
16. 假设你在某单位工作,成绩比较突出,得到领导的肯定。但同时你发现同事们越来越孤立你,你怎么看这个问题 你准备怎么办?
回答提示:①成绩比较突出,得到领导的肯定是件好事情,以后更加努力
②检讨一下自己是不是对工作的热心度超过同事间交往的热心了,加强同事间的交往及共同的兴趣爱好。③工作中,切勿伤害别人的自尊心④不再领导前拨弄是非⑤乐于助人对面
17. 你最近是否参加了培训课程 谈谈培训课程的内容。是公司资助还是自费参加?
回答提示:是自费参加,就是北大青鸟的培训课程(可以多谈谈自己学的技术)。
18. 你对于我们公司了解多少?
回答提示:在去公司面试前上网查一下该公司主营业务。如回答:贵公司有意改变策略,加强与国外大厂的OEM合作,自有品牌的部分则透过海外经销商。
19. 请说出你选择这份工作的动机?
回答提示:这是想知道面试者对这份工作的热忱及理解度,并筛选因一时兴起而来应试的人,如果是无经验者,可以强调“就算职种不同,也希望有机会发挥之前的经验”。
20. 你最擅长的技术方向是什么?
回答提示:说和你要应聘的职位相关的课程,表现一下自己的热诚没有什么坏处。
21. 你能为我们公司带来什么呢?
回答提示:①假如你可以的话,试着告诉他们你可以减低他们的费用——“我已经接受过北大青鸟近两年专业的培训,立刻就可以上岗工作”。②企业很想知道未来的员工能为企业做什么,求职者应再次重复自己的优势,然后说:“就我的能力,我可以做一个优秀的员工在组织中发挥能力,给组织带来高效率和更多的收益”。企业喜欢求职者就申请的职位表明自己的能力,比如申请营销之类的职位,可以说:“我可以开发大量的新客户,同时,对老客户做更全面周到的服务,开发老客户的新需求和消费。”等等。
22. 最能概括你自己的三个词是什么?
回答提示:我经常用的三个词是:适应能力强,有责任心和做事有始终,结合具体例子向主考官解释
23. 你的业余爱好是什么?
回答提示:找一些富于团体合作精神的,这里有一个真实的故事:有人被否决掉,因为他的爱好是深海潜水。主考官说:因为这是一项单人活动,我不敢肯定他能否适应团体工作。
24. 作为被面试者给我打一下分?
回答提示:试着列出四个优点和一个非常非常非常小的缺点,(可以抱怨一下设施,没有明确责任人的缺点是不会有人介意的)。
25. 你怎么理解你应聘的职位?
回答提示:把岗位职责和任务及工作态度阐述一下
26. 喜欢这份工作的哪一点?
回答提示: 相信其实大家心中一定都有答案了吧!每个人的价值观不同,自然评断的标准也会不同,但是,在回答面试官这个问题时可不能太直接就把自己心理的话说出来,尤其是薪资方面的问题,不过一些无伤大雅的回答是不错的考虑,如交通方便,工作性质及内容颇能符合自己的兴趣等等都是不错的答案,不过如果这时自己能仔细思考出这份工作的与众不同之处,相信在面试上会大大加分。
27. 为什么要离职?
回答提示:①回答这个问题时一定要小心,就算在前一个工作受到再大的委屈,对公司有多少的怨言,都千万不要表现出来,尤其要避免对公司本身主管的批评,避免面试官的负面情绪及印象;建议此时最好的回答方式是将问题归咎在自己身上,例如觉得工作没有学习发展的空间,自己想在面试工作的相关产业中多加学习,或是前一份工作与自己的生涯规划不合等等,回答的答案最好是积极正面的。②我希望能获得一份更好的工作,如果机会来临,我会抓住;我觉得目前的工作,已经达到顶峰,即沒有升迁机会。
28. 说说你对行业、技术发展趋势的看法?
回答提示:企业对这个问题很感兴趣,只有有备而来的求职者能够过关。求职者可以直接在网上查找对你所申请的行业部门的信息,只有深入了解才能产生独特的见解。企业认为最聪明的求职者是对所面试的公司预先了解很多,包括公司各个部门,发展情况,在面试回答问题的时候可以提到所了解的情况,企业欢迎进入企业的人是“知己”,而不是“盲人”。
29. 对工作的期望与目标何在?
回答提示:这是面试者用来评断求职者是否对自己有一定程度的期望、对这份工作是否了解的问题。对于工作有确实学习目标的人通常学习较快,对于新工作自然较容易进入状况,这时建议你,最好针对工作的性质找出一个确实的答案,如业务员的工作可以这样回答:“我的目标是能成为一个超级业务员,将公司的产品广泛的推销出去,达到最好的业绩成效;为了达到这个目标,我一定会努力学习,而我相信以我认真负责的态度,一定可以达到这个目标。”其他类的工作也可以比照这个方式来回答,只要在目标方面稍微修改一下就可以了。
30. 说说你的家庭?
回答提示:企业面试时询问家庭问题不是非要知道求职者家庭的情况,探究隐私,企业不喜欢探究个人隐私,而是要了解家庭背景对求职者的塑造和影响。企业希望听到的重点也在于家庭对求职者的积极影响。企业最喜欢听到的是:我很爱我的家庭!我的家庭一向很和睦,虽然我的父亲和母亲都是普通人,但是从小,我就看到我父亲起早贪黑,每天工作特别勤劳,他的行动无形中培养了我认真负责的态度和勤劳的精神。我母亲为人善良,对人热情,特别乐于助人,所以在单位人缘很好,她的一言一行也一直在教导我做人的道理。企业相信,和睦的家庭关系对一个人的成长有潜移默化的影响。
31. 就你申请的这个职位,你认为你还欠缺什么?
回答提示:企业喜欢问求职者弱点,但精明的求职者一般不直接回答。他们希望看到这样的求职者:继续重复自己的优势,然后说:“对于这个职位和我的能力来说,我相信自己是可以胜任的,只是缺乏经验,这个问题我想我可以进入公司以后以最短的时间来解决,我的学习能力很强,我相信可以很快融入公司的企业文化,进入工作状态。”企业喜欢能够巧妙地躲过难题的求职者。
32. 你欣赏哪种性格的人?
回答提示:诚实、不死板而且容易相处的人、有"实际行动"的人。
33. 你通常如何处理別人的批评?
回答提示:①沈默是金。不必说什么,否则情况更糟,不过我会接受建设性的批评;②我会等大家冷靜下来再讨论。
34. 你怎样对待自己的失敗?
回答提示:我们大家生来都不是十全十美的,我相信我有第二个机会改正我的错误。
35. 什么会让你有成就感?
回答提示:为贵公司竭力效劳;尽我所能,完成一个项目
36. 眼下你生活中最重要的是什么?
回答提示:对我来说,能在这个领域找到工作是最重要的;望能在贵公司任职对我说最重要。
37. 你为什么愿意到我们公司来工作 ?
回答提示:对于这个问题,你要格外小心,如果你已经对该单位作了研究,你可以回答一些详细的原因,像“公司本身的高技术开发环境很吸引我。”,“我同公司出生在同样的时代,我希望能够进入一家与我共同成长的公司。”“你们公司一直都稳定发展,在近几年来在市场上很有竞争力。”或者“我认为贵公司能够给我提供一个与众不同的发展道路。”这都显示出你已经做了一些调查,也说明你对自己的未来有了较为具体的远景规划。
38. 你和别人发生过争执吗 你是怎样解决的 ?
回答提示:这是面试中最险恶的问题。其实是考官布下的一个陷阱。千万不要说任何人的过错。应知成功解决矛盾是一个协作团体中成员所必备的能力。假如你工作在一个服务行业,这个问题简直成了最重要的一个环节。你是否能获得这份工作,将取决于这个问题的回答。考官希望看到你是成熟且乐于奉献的。他们通过这个问题了解你的成熟度和处世能力。在没有外界干涉的情况下,通过妥协的方式来解决才是正确答案。
39. 问题:你做过的哪件事最令自己感到骄傲?
回答提示:这是考官给你的一个机会,让你展示自己把握命运的能力。这会体现你潜在的领导能力以及你被提升的可能性。假如你应聘于一个服务性质的单位,你很可能会被邀请去午餐。记住:你的前途取决于你的知识、你的社交能力和综合表现。
40. 你新到一个部门,一天一个客户来找你解决问题,你努力想让他满意,可是始终达不到群众得满意,他投诉你们部门工作效率低,你这个时候怎么作?
回答提示:(1)首先,我会保持冷静。作为一名工作人员,在工作中遇到各种各样的问题是正常的,关键是如何认识它,积极应对,妥善处理。 (2)其次,我会反思一下客户不满意的原因。一是看是否是自己在解决问题上的确有考虑的不周到的地方,二是看是否是客户不太了解相关的服务规定而提出超出规定的要求,三是看是否是客户了解相关的规定,但是提出的要求不合理。 (3)再次,根据原因采取相对的对策。如果是自己确有不周到的地方,按照服务规定作出合理的安排,并向客户作出解释;如果是客户不太了解政策规定而造成的误解,我会向他作出进一步的解释,消除他的误会;如果是客户提出的要求不符合政策规定,我会明确地向他指出。 (4)再次,我会把整个事情的处理情况向领导作出说明,希望得到他的理解和支持。(5)我不会因为客户投诉了我而丧失工作的热情和积极性,而会一如既往地牢记为客户服务的宗旨,争取早日做一名领导信任、公司放心、客户满意的职员。
41. 对这项工作,你有哪些可预见的困难?
回答提示::①不宜直接说出具体的困难,否则可能令对方怀疑应聘者不行;②可以尝试迂回战术,说出应聘者对困难所持有的态度——“工作中出现一些困难是正常的,也是难免的,但是只要有坚忍不拔的毅力、良好的合作精神以及事前周密而充分的准备,任何困难都是可以克服。” 分析:一般问这个问题,面试者的希望就比较大了,因为已经在谈工作细节。但常规思路中的回答,又被面试官“骗”了。当面试官询问这个问题的时候,有两个目的。第一,看看应聘者是不是在行,说出的困难是不是在这个职位中一般都不可避免的问题。第二,是想看一下应聘者解决困难的手法对不对,及公司能否提供这样的资源。而不是想了解应聘者对困难的态度。
42. 如果我录用你,你将怎样开展工作 ?
回答提示: ①如果应聘者对于应聘的职位缺乏足够的了解,最好不要直接说出自己开展工作的具体办法;②可以尝试采用迂回战术来回答,如“首先听取领导的指示和要求,然后就有关情况进行了解和熟悉,接下来制定一份近期的工作计划并报领导批准,最后根据计划开展工作。” 分析:这个问题的主要目的也是了解应聘者的工作能力和计划性、条理性,而且重点想要知道细节。如果向思路中所讲的迂回战术,面试官会认为回避问题,如果引导了几次仍然是回避的话。此人绝对不会录用了。
43. 你希望与什么样的上级共事 ?
回答提示:①通过应聘者对上级的“希望”可以判断出应聘者对自我要求的意识,这既上一个陷阱,又是一次机会;②最好回避对上级具体的希望,多谈对自己的要求;③如“做为刚步入社会的新人,我应该多要求自己尽快熟悉环境、适应环境,而不应该对环境提出什么要求,只要能发挥我的专长就可以了
分析:这个问题比较好的回答是,希望我的上级能够在工作中对我多指导,对我工作中的错误能够立即指出。总之,从上级指导这个方面谈,不会有大的纰漏。
44. 在完成某项工作时,你认为领导要求的方式不是最好的,自己还有更好的方法,你应该怎么做 ?
回答提示:①.原则上我会尊重和服从领导的工作安排;同时私底下找机会以请教的口吻,婉转地表达自己的想法,看看领导是否能改变想法;②如果领导没有采纳我的建议,我也同样会按领导的要求认真地去完成这项工作;③.还有一种情况,假如领导要求的方式违背原则,我会坚决提出反对意见;如领导仍固执己见,我会毫不犹豫地再向上级领导反映。
45. 与上级意见不一是,你将怎么办 ?
回答提示:①一般可以这样回答“我会给上级以必要的解释和提醒,在这种情况下,我会服从上级的意见。”②如果面试你的是总经理,而你所应聘的职位另有一位经理,且这位经理当时不在场,可以这样回答:“对于非原则性问题,我会服从上级的意见,对于涉及公司利益的重大问题,我希望能向更高层领导反映。” 分析:这个问题的标准答案是思路1,如果用2的回答,必死无疑。你没有摸清楚改公司的内部情况,先想打小报告,这样的人没有人敢要。
46. “你工作经验欠缺,如何能胜任这项工作?
常规思路:①如果招聘单位对应届毕业生的应聘者提出这个问题,说明招聘公司并不真正在乎“经验”,关键看应聘者怎样回答;②对这个问题的回答最好要体现出应聘者的诚恳、机智、果敢及敬业;③如“作为应届毕业生,在工作经验方面的确会有所欠缺,因此在读书期间我一直利用各种机会在这个行业里做兼职。我也发现,实际工作远比书本知识丰富、复杂。但我有较强的责任心、适应能力和学习能力,而且比较勤奋,所以在兼职中均能圆满完成各项工作,从中获取的经验也令我受益非浅。请贵公司放心,学校所学及兼职的工作经验使我一定能胜任这个职位。” 点评:这个问题思路中的答案尚可。突出自己的吃苦能力和适应性以及学习能力(不是学习成绩)为好。
47. 您在前一家公司的离职原因是什么?
回答提示:①最重要的是:应聘者要使找招聘单位相信,应聘者在过往的单位的“离职原因”在此家招聘单位里不存在;②避免把“离职原因”说得太详细、太具体;③不能掺杂主观的负面感受,如“太辛苦”、“人际关系复杂”、“管理太混乱”、“公司不重视人才”、“公司排斥我们某某的员工”等;④但也不能躲闪、回避,如“想换换环境”、“个人原因”等;⑤不能涉及自己负面的人格特征,如不诚实、懒惰、缺乏责任感、不随和等;⑥尽量使解释的理由为应聘者个人形象添彩;⑦相关例子:如“我离职是因为这家公司倒闭;我在公司工作了三年多,有较深的感情;从去年始,由于市场形势突变,公司的局面急转直下;到眼下这一步我觉得很遗憾,但还要面对显示,重新寻找能发挥我能力的舞台。”同一个面试问题并非只有一个答案,而同一个答案并不是在任何面试场合都有效,关键在应聘者掌握了规律后,对面试的具体情况进行把握,有意识地揣摩面试官提出问题的心理背景,然后投其所好。
分析:除非是薪资太低,或者是最初的工作,否则不要用薪资作为理由。“求发展”也被考官听得太多,离职理由要根据每个人的真实离职理由来设计,但是在回答时一定要表现得真诚。实在想不出来的时候,家在外地可以说是因为家中有事,须请假几个月,公司又不可能准假,所以辞职。这个答案一般面试官还能接受。
48. “你工作经验欠缺,如何能胜任这项工作?
回答提示:①如果招聘单位对应届毕业生的应聘者提出这个问题,说明招聘公司并不真正在乎“经验”,关键看应聘者怎样回答;②对这个问题的回答最好要体现出应聘者的诚恳、机智、果敢及敬业;③如“作为应届毕业生,在工作经验方面的确会有所欠缺,因此在读书期间我一直利用各种机会在这个行业里做兼职。我也发现,实际工作远比书本知识丰富、复杂。但我有较强的责任心、适应能力和学习能力,而且比较勤奋,所以在兼职中均能圆满完成各项工作,从中获取的经验也令我受益非浅。请贵公司放心,学校所学及兼职的工作经验使我一定能胜任这个职位。分析:这个问题思路中的答案尚可。突出自己的吃苦能力和适应性以及学习能力(不是学习成绩)为好。
49. 为了做好你工作份外之事,你该怎样获得他人的支持和帮助 ?
回答提示:每个公司都在不断变化发展的过程中;你当然希望你的员工也是这样。你希望得到那些希望并欢迎变化的人,因为这些人明白,为了公司的发展,变化是公司日常生活中重要组成部分。这样的员工往往很容易适应公司的变化,并会对变化做出积极的响应。此外,他们遇到矛盾和问题时,也能泰然处之。下面的问题能够考核应聘者这方面的能力。
据说有人能从容避免正面冲突。请讲一下你在这方面的经验和技巧。
有些时候,我们得和我们不喜欢的人在一起共事。说说你曾经克服了性格方面的冲突而取得预期工作效果的经历。
50. 如果你在这次面试中没有被录用,你怎么打算?
回答提示:现在的社会是一个竞争的社会,从这次面试中也可看出这一点,有竞争就必然有优劣,有成功必定就会有失败.往往成功的背后有许多的困难和挫折,如果这次失败了也仅仅是一次而已,只有经过经验经历的积累才能塑造出一个完全的成功者。我会从以下几个方面来正确看待这次失败.
第一、要敢于面对,面对这次失败不气馁,接受已经失去了这次机会就不会回头这个现实,从心理意志和精神上体现出对这次失败的抵抗力。要有自信,相信自己经历了这次之后经过努力一定能行.能够超越自我.
第二、善于反思,对于这次面试经验要认真总结,思考剖析,能够从自身的角度找差距。正确对待自己,实事求是地评价自己,辩证的看待自己的长短得失,做一个明白人.
第三、走出阴影,要克服这一次失败带给自己的心理压力,时刻牢记自己弱点,防患于未然,加强学习,提高自身素质.
第四、认真工作,回到原单位岗位上后,要实实在在、踏踏实实地工作,三十六行,行行出状元,争取在本岗位上做出一定的成绩.
第五、再接再厉,成为国家公务员一直是我的梦想,以后如果有机会我仍然后再次参加竞争.
51. 假如你晚上要去送一个出国的同学去机场,可单位临时有事非你办不可,你怎么办 ?
回答提示:我觉得工作是第一位的,但朋友间的情谊也是不能偏废的。这个问题我觉得要按照当时具体的情况来决定。(1)、如果我的朋友晚上9点中的飞机,而我的 加班八点就能够完成的话,那就最理想了,干完工作去机场,皆大欢喜。(2)、如果说工作不是很紧急,加班仅仅是为了明天上班的时候能把报告交到办公室,那完全可以跟领导打声招呼,先去机场然后回来加班,晚点睡就是了。(3)、如果工作很紧急,两者不可能兼顾的情况下,我觉得可以由两种选择。1)如果不是全单位都加班的话,是不是可以要其他同事来代替以下工作,自己去机场,哪怕就是代替你离开的那一会儿。2)如果连这一点都做不到的话,
那只好忠义不能两全了,打电话给朋友解释一下,小心他会理解,毕竟工作做完了就完了,朋友还是可以再见面的。
52. 如果通过这次面试我们单位录用了你,但工作一段时间却发现你根本不适合这个职位,你怎么办?
回答提示:一段时间发现工作不适合我,有两种情况:
1、如果你确实热爱这个职业,那你就要不断学习,虚心向领导和同事学习业务知识和处事经验,了解这个职业的精神内涵和职业要求,力争减少差距;
2、你觉得这个职业可有可无,那还是趁早换个职业,去发现适合你的,你热爱的职业,那样你的发展前途也会大点,对单位和个人都有好处。
53. 你做过的哪件事最令自己感到骄傲?
回答提示:这是考官给你的一个机会,让你展示自己把握命运的能力。这会体现你潜在的领导能力以及你被提升的可能性。假如你应聘于一个服务性质的单位,你很可能会被邀请去午餐。记住:你的前途取决于你的知识、你的社交能力和综合表现。
54. 谈谈你过去做过的成功案例?
回答提示:举一个你最有把握的例子,把来龙去脉说清楚,而不要说了很多却没有重点。切忌夸大其词,把别人的功劳到说成自己的,很多主管为了确保要用的人是最适合的,会打电话向你的前一个主管征询对你的看法及意见,所以如果说谎,是很容易穿梆的。
55. 谈谈你过去的工作经验中,最令你挫折的事情?
回答提示:曾经接触过一个客户,原本就有耳闻他们以挑剔出名,所以事前的准备功夫做得十分充分,也投入了相当多的时间与精力,最后客户虽然并没有照单全收,但是接受的程度已经出乎我们意料之外了。原以为从此可以合作愉快,却得知客户最后因为预算关系选择了另一家代理商,之前的努力因而付诸流水。尽管如此,我还是从这次的经验学到很多,如对该产业的了解,整个team的默契也更好了。
分析:借此了解你对挫折的容忍度及调解方式。
56. 如何安排自己的时间 会不会排斥加班?
回答提示:基本上,如果上班工作有效率,工作量合理的话,应该不太需要加班。可是我也知道有时候很难避免加班,加上现在工作都采用责任制,所以我会调配自己的时间,全力配合。分析:虽然不会有人心甘情愿的加班,但依旧要表现出高配合度的诚意。
为什么我们要在众多的面试者中选择你 ?
回答提示:根据我对贵公司的了解,以及我在这份工作上所累积的专业、经验及人脉,相信正是贵公司所找寻的人才。而我在工作态度、EQ上,也有圆融、成熟的一面,和主管、同事都能合作愉快。分析:别过度吹嘘自己的能力,或信口开河地乱开支票,例如一定会为该公司带来多少钱的业务等,这样很容易给人一种爱说大话、不切实际的感觉。
对这个职务的期许 ?
回答提示:希望能借此发挥我的所学及专长,同时也吸收贵公司在这方面的经验,就公司、我个人而言,缔造“双赢”的局面。
分析:回答前不妨先询问该公司对这项职务的责任认定及归属,因为每一家公司的状况不尽相同。以免说了一堆理想抱负却发现牛头不对马嘴。
为什么选择这个职务 ?
回答提示::这一直是我的兴趣和专长,经过这几年的磨练,也累积了一定的经验及人脉,相信我一定能胜任这个职务的。分析:适时举出过去的“丰功伟业”,表现出你对这份职务的熟稔度,但避免过于夸张的形容或流于炫耀。
为什么选择我们这家公司 ?
回答提示:曾经在报章杂志看过关于贵公司的报道,与自己所追求的理念有志一同。而贵公司在业界的成绩也是有目共睹的,而且对员工的教育训练、升迁等也都很有制度。
分析:去面试前先做功课,了解一下该公司的背景,让对方觉得你真的很有心想得到这份工作,而不只是探探路。
你认为你在学校属于好学生吗 ?
回答提示:企业的招聘者很精明,问这个问题可以试探出很多问题:如果求职者学习成绩好,就会说:“是的,我的成绩很好,所有的成绩都很优异。当然,判断一个学生是不是好学生有很多标准,在学校期间我认为成绩是重要的,其他方面包括思想道德、实践经验、团队精神、沟通能力也都是很重要的,我在这些方面也做得很好,应该说我是一个全面发展的学生。”如果求职者成绩不尽理想,便会说:“我认为是不是一个好学生的标准是多元化的,我的学习成绩还可以,在其他方面我的表现也很突出,比如我去很多地方实习过,我很喜欢在快节奏和压力下工作,我在学生会组织过 ××活动,锻炼了我的团队合作精神和组织能力。” 有经验的招聘者一听就会明白,企业喜欢诚实的求职者。
请谈谈如何适应办公室工作的新环境 ?
回答提示①办公室里每个人有各自的岗位与职责,不得擅离岗位。
②根据领导指示和工作安排,制定工作计划,提前预备,并按计划完成。
③多请示并及时汇报,遇到不明白的要虚心请教。
④抓间隙时间,多学习,努力提高自己的政治素质和业务水平。
在工作中学习到了些什么 ?
回答提示:这是针对转职者提出的问题,建议此时可以配合面试工作的特点作为主要依据来回答,如业务工作需要与人沟通,便可举出之前工作与人沟通的例子,经历了哪些困难,学习到哪些经验,把握这些要点做陈述,就可以轻易过关了
有想过创业吗 ?
回答提示:这个问题可以显示你的冲劲,但如果你的回答是“有”的话,千万小心,下一个问题可能就是“那么为什么你不这样做呢 ”
最能概括你自己的三个词是什么?
回答提示:我经常用的三个词是:适应能力强,有责任心和做事有始终,结合具体例子向主考官解释,使他们觉得你具有发展潜力
你认为你在学校属于好学生吗?
回答提示:企业的招聘者很精明,问这个问题可以试探出很多问题:如果求职者学习成绩好,就会说:“是的,我的成绩很好,所有的成绩都很优异。当然,判断一个学生是不是好学生有很多标准,在学校期间我认为成绩是重要的,其他方面包括思想道德、实践经验、团队精神、沟通能力也都是很重要的,我在这些方面也做得很好,应该说我是一个全面发展的学生。”如果求职者成绩不尽理想,便会说:“我认为是不是一个好学生的标准是多元化的,我的学习成绩还可以,在其他方面我的表现也很突出,比如我去很多地方实习过,我很喜欢在快节奏和压力下工作,我在学生会组织过 ××活动,锻炼了我的团队合作精神和组织能力。” 有经验的招聘者一听就会明白,企业喜欢诚实的求职者。
除了本公司外,还应聘了哪些公司 ?
回答提示:很奇怪,这是相当多公司会问的问题,其用意是要概略知道应徵者的求职志向,所以这并非绝对是负面答案,就算不便说出公司名称,也应回答“销售同种产品的公司”,如果应聘的其他公司是不同业界,容易让人产生无法信任的感觉。
何时可以到职?
回答提示:大多数企业会关心就职时间,最好是回答\’如果被录用的话,到职日可按公司规定上班”,但如果还未辞去上一个工作、上班时间又太近,似乎有些强人所难,因为交接至少要一个月的时间,应进一步说明原因,录取公司应该会通融的
你并非毕业于名牌院校 ?
回答提示:是否毕业于名牌院校不重要,重要的是有能力完成您交给我的工作,我接受了北大青鸟的职业培训,掌握的技能完全可以胜任贵公司现在工作,而且我比一些名牌院校的应届毕业生的动手能力还要强,我想我更适合贵公司这个职位。
你怎样看待学历和能力 ?
回答提示:学历我想只要是大学专科的学历,就表明觉得我具备了根本的学习能力。剩下的,你是学士也好,还是博士也好,对于这一点的讨论,不是看你学了多少知识,而是看你在这个领域上发挥了什么,也就是所说的能力问题。一个人工作能力的高低直接决定其职场命运,而学历的高低只是进入一个企业的敲门砖,如果贵公司把学历卡在博士上,我就无法进入贵公司,当然这不一定只是我个人的损失,如果一个专科生都能完成的工作,您又何必非要招聘一位博士生呢
你经历太单纯,而我们需要的是社会经验丰富的人?
回答提示:经历丰富的人也未必适合这个职位,如果他在以前的经历中养成的是一个良好的职业习惯还好,如果是不好的职业习惯呢 我在这方面是一片空白,更可以尽快地融入贵公司的企业文化,养成良好的职业习惯,一个人具有良好的职业习惯,更会发挥自己的长处为公司做更多的事。
你性格过于内向,这恐怕与我们的职业不合适 ?
回答提示:没关系呀,性格内向可以踏实地完成技术工作。况且性格内向并不能说明我无法讲述清楚我做的项目,克林顿小时候性格还内向呢,并不能阻止他成为美国总统。
假如领导派你和一个有矛盾的同志一起出差,你如何处理?在日常生活中,出现这样的事情你是如何处理的 试举例说明?
回答提示:在日常生活中,由于每个人的观点和立场,看待和分析问题的方法不同,矛盾是不可避免的。假如我和一个和我有矛盾的同志一起出差,我想首先应该开诚布公,因为有矛盾,就把许多东西隐藏起来,这只会加深误会,假如互相坦诚相见,以一种客观,不带个人情绪的态度看问题,你会发现你原先自认为十分得意的想法并不完全正确,你先前反对的看法和观点可能只是一个事物的另一侧面,你们原来在许多方面可以互相补充,互相完善。我个人认为在处理矛盾问题上要有一种宽容的态度,俗话说的好:宰相肚里能撑船。心胸狭隘是化解矛盾的大敌,而一个心胸狭隘的人是绝不可能成就一番大事业的。
我在上大学时,同寝室一个同学喜欢在寝室随地吐痰,我很不喜欢这一点,但他脾气比较暴躁,如果我直接向他说,矛盾就会激化,对此我采取了以下方法:一是通过别的同学委婉地表达我对他随地吐痰的反对态度;二是经常拿一些有关随地吐痰危害自己和他人健康的书籍放在寝室的桌子上,使他能够看到;三是我在他在寝室的时候也吐痰,但是不在寝室里吐,而是在外边吐,暗示其应到外边吐痰.,
如果你遇到了挫折你将怎么办?
回答提示:事业有成一帆风顺时许多人的美好想法,其实很难做到一帆风顺,要接受这样一个现实, 人的一生不可能是一帆风顺的,成功的背后会有许许多多的艰辛,痛苦甚至挫折.在人生的一段时期遇到一些挫折是很正常的.只有经验知识和经历的积累才能塑造出一个成功者.我觉得面对挫折要做到以下几点:1)第一要敢于面对.哪里跌倒要从哪里爬起来,小平同志还是三起三落呢,不要惧怕困难,要敢于向困难挑战.2)再者要认真分析失败的原因,寻根究源,俗话说失败乃成功之母,在挫折中掌握教训,为下一次奋起提供经验.3)还有在平时的工作生化中要加强学习,人的一生是有限的,不可能经历所有的事,要在别人的经验吸取教训.4)最后可能由于当局者迷或者知识经历的不足,自己对于挫折并没有特别好的处理方法,这是可以求教自己的亲人朋友,群策群力渡过难关。
你最喜欢的一本书是那本?
回答提示:我喜欢读书,一个人最早看的一本书可能会对个人的一生产生很大的影响,我小时候最早看的一本书是三国演义,三国演义这本书博大精深,书中描写的一些人物我对我的成长起了许多潜移默化的作用,现在看来我还是最喜欢三国演义如果我说我喜欢关羽,可能俗了一点,但从关羽身上表现出来的诚信和忠诚一直是我很推崇的。我觉得诚心是立身之本,而对单位的忠诚是你能不能做出一番事业的前提条件。当然这个忠诚还包括对领导的忠诚.
从周瑜身上我学到对别人要宽容,不要又嫉妒心;从诸葛亮身上学到要加强自己学习等等。三国演义这本书博大精深,对我的影响也是全方位的,时间原因我不再赘述。
请告知你的工作观 ?
回答提示:常被问到“你的**观是什么 ”时,可别把它想得太复杂,可回答“为何而工作”、“从工作方面得到了什么”“*年後想变成怎样”等的话。
如果你有一位固执武断的领导,你会经常提合理化建议吗 ?
回答提示:①在一般情况下,领导和同事是不能选择的,每个人有每个人的个性和脾气,要学会适应和相处。 ②领导脾气直也好,悠也好,固执也好,只要是出自为公,为工作,应该尊重和原谅他,并且按他的安排去做。 ③适当的时候,可以用谈心、汇报思想等方式委婉地提出自己的看法,但点到为止。 ④在有合理化的建议时,照提不误。因为那是对自己和工作负责。
假如在一次学习讨论会上,领导对你的发言很不满意,并当场批评了你,你怎么办?
回答提示:好:能谈到在情绪产生波动时,自己的自我控制方法,并取得良好的效果。
中:有控制自我情绪的努力,但方法不够有效。差:思前想后,顾虑重重,言语中流露出气愤、委屈,或长时间沉默,显得心情难以言表。
针对你们单位业务工作中出现的问题,你提出了一些很好的建议,得到了同事们的赞同,但你的领导并不满意。在这种情况下,你怎么办?
回答提示:好:能认真分析,仔细推敲自己建议存在的问题,认真领会领导意图,找出两者之间的共同点,圆满解决问题,考生心理冷静,自制力强,方法正确,陈述问题条理清楚,有说服力。中:能找出问题的根源并冷静对待,处理问题有一定方法,陈述问题有一定说服力。差:行为偏激,自制力差,方法不正确,或长时间沉默,显得无以应对。
假设你手头上有好几项工作没有完成,可是上级又给你安排了一项任务。你感到自己完成这项工作有困难。你如何处理这个矛盾?
回答提示:出题思路:情境性问题。该题用于考查考生的人际交往的意识与技巧,主要是在组织中处理权属关系的能力。参考评分标准:好:能够很好地与人沟通,有很好的交往方法和技巧;能够在尊重他人的前提下恰当地表达自己的意见。如:能用适当方法让领导了解到自己现有任务已很重,并能向领导提出完成该任务的可行建议。中:能与人沟通,交往中有一些方法、技巧,能适当地表达出自己的意见。如:能让领导认识到自己的困难。差:不能与他人沟通,交往中缺乏技巧;难以表达自己的意见。如:无法让领导了解自己的困难,或直接顶撞领导。
当前对有些单位实施的‘末位淘汰制’,有不同争议,你怎么看待这种用人措施?
回答提示: “末位淘汰制”是一种向竞争机制发展的过渡性措施,可以试行;但要因情况而异,不能一刀切。再说“末位淘汰制”也不完全等同于竞争机制。对于规模较大、人数较多的单位最初实行,然后实施竞争机制,未尝不可。如果在规模小、人数少的单位实行,效果就不一定好,因为也确有些单位人数不多,几乎所有人员都很努力,成绩都不错,甚至难分上下,如果实行就会造成人心惶惶、人际关系紧张的不利局面。
物质待遇和工作条件是人们选择工作的重要因素之一,这次报考谈一谈你在选择工作时都考虑哪些因素?为什么?
回答提示:好:既能够坦率承认在择业过程中的个人利益因素,又能够超越物质利益因素,有正确的择业观,积极向上,叙述有条理,具有说服力。中:基本能够正视现实,实事求是地考虑择业问题,叙述问题基本清楚,有一定说理性。差:隐瞒自己的真实想法,假、大、空,或者过分注重自己的个性需求,叙述无条理,说理性差。
直接领导要求你在30日内完成一项工作,你会怎样去完成?
回答提示:提前做准备,制订完备的计划,会准时甚至更早地完成工作任务。
你认为这份工作最重要的是什么 ?
回答提示:叙述工作特性的同时,也要加上自己的看法,如果是有工作经验的人,最好说明自己的基本心态。
上班的时候,往往有多件事需要你处理,你会如何安排?
回答提示:事有三件,紧要处着手。要先处理重要事件,其他依次统筹安排
找这份工作,你最重要的考虑因素为何?
回答提示:如回答:“工作的性质是否能让我发挥所长,并不断成长。”因为公司要找工作表现好、能够真正有贡献的人,而非纯粹慕名、求利而来的人。
在你参加我们这次面试前,你做了哪些准备工作 ?
回答提示:公司的背景知识及岗位要求;可能要问的问题(技术+技巧);调整状态、保持一颗平常心等
你争取成功的动力是什么?
回答提示:自我实现,展现自身的价值。
89.怎样理解团队 请举例并说明启示?
回答提示:团队成员共同承担领导职能,共同努力,以各自独特的方式,在所处的环境中共同完成预先设定的目标。(明确的目标、勇于负责、协作增效、能力资源各异)
例如:大雁团队,其合作精神体现在以下几个方面: (1)大雁会共同“拍动翅膀”。拍翅膀是大雁的本能,但只要排成人字队形,就可以提高飞行效率。(2)所有的大雁都愿意接受团体的飞行队形,而且都实际协助队形的建立。如果有一只大雁落在队形外面,它很快就会感到自己越来越落后,便会立即回到雁群中。 (3)大雁的领导工作是由群体共同分担的。虽然有带头雁出来整队,但是当它疲倦时,便会自动退到队伍之中,另一只大雁马上替补领头的位置。 (4)队形后边的大雁不断发出鸣叫,目的是为了给前方的伙伴打气激励。 (5)如果一只大雁生病或被猎人击伤,雁群中就会有两只大雁脱离队形,靠近这只遇到困难的同伴,协助它降落在地面上,直至它能够重回群体,或是不幸死亡。
通过分析大雁的合作行为,我们可以得出以下启示:
(1)每个人都要忠诚于自己的团队,忠诚于自己的事业,做好自己的本职工作。如果你不拍翅膀,他不拍翅膀,这个团体还会存在吗 (2)如果我们与大雁一样聪明的话,我们就会留在与自己的事业目标一致的队伍里,而且乐意接受他人的协助,也愿意协助他人。 (3)我们必须确定从背后传来的是鼓励的叫声,而不是其他声音。想要在职业生涯中生存和发展,需要把工作伙伴变成啦啦队,一队快乐的工作伙伴是成功最好的助手。你的工作伙伴散播的有利消息远比你个人所有的努力更有助于你职业生涯的发展
为什么下水道的井盖是圆的?
回答提示:圆的井盖立起来时不会掉到井里。
如果你是公司老板,最不喜欢的是哪种员工 ?
回答提示:1.遇到问题事不关己。 2.凡事三缄其口。 3.总是墨守城规,没有创新。 4.背后议论上司。 5.随遇而安。 6.追名逐利。 7.拒绝加班。? 8.不善交际。 9.既然预定了假期就不可改变。
面试进行时,大脑出现短路怎么办 ?
回答提示:1、坦白的讲,我对这个问题不太了解。但我对XX问题倒是有一些研究。我可以讲讲这方面的内容吗 2、您的意思是……… (进一步确认)3、”不知道您看出来没有,我太重视这次面试,因此有些紧张,您能给我一分种的时间让我考虑一下这个问题好吗”(如果你确信,多给你一些时间,你可以考虑出来)4、很坦白的讲,对于这个问题我不太了解。(没有人可以知道所有的知识)…给出解决问题的方法所设计的知识点。(虽然不知道怎么解决,你会按照什么思路解决)
怎样与上级沟通?
回答提示:1)仔细聆听领导的命令2)与领导探讨目标的可行性3)拟定详细的工作计划4)在工作进行之中随时向领导汇报5)在工作完成后及时总结汇报
你为什么觉得自己能够在这个职位上取得成就 ?
回答提示:分析 这是一个相当宽泛的问题,它给求职者提供了一个机会,可以让求职者表明自己的热情和挑战欲。对这个问题的回答将为面试人在判断求职者是否对这个职位有足够的动力和自信心方面提供关键信息。
错误回答 我不知道。我擅长做很多事情。如果我能得到并且决定接受这份工作,我确信自己可以把它做得相当好,因为我过去一直都很成功。
?正确回答 从我的经历来看,这是我的职业生涯中最适合我的一份工作。几年来,我一直在研究这个领域并且关注贵公司,一直希望能有这样的面试机会。我拥有必备的技能(简单讲述一个故事来加以说明),我非常适合这一职位,也确实能做好这份工作。
你最大的长处和弱点分别是什么 这些长处和弱点对你在企业的业绩会有什么样的影响
回答提示:这个问题的最大陷阱在于,第一个问题实际上是两个问题,而且还要加上一个后续问题。这两个问题的陷阱并不在于你是否能认真地看待自己的长处,也不在于你是否能正确认识自己的弱点。记住,你的回答不仅是向面试人说明你的优势和劣势,也能在总体上表现你的价值观和对自身价值的看法。错误回答 从长处来说,我实在找不出什么突出的方面,我认为我的技能是非常广泛的。至于弱点,我想,如果某个项目时间拖得太久,我可能会感到厌倦。正确回答 从长处来说,我相信我最大的优点是我有一个高度理性的头脑,能够从混乱中整理出头绪来。我最大的弱点是,对那些没有秩序感的人,可能缺乏足够的耐心。我相信我的组织才能可以帮助企业更快地实现目标,而且有时候,我处理复杂问题的能力也能影响我的同事。评论 这个回答做到了“一箭三雕”。首先,它确实表明了求职者的最大长处。其次,它所表达的弱点实际上很容易被理解为长处。最后,它指出了这个求职者的长处和弱点对企业和其他员工的好处。
请谈谈你个人的最大特色?
回答提示:“我的坚持度很高,事情没有做到一个令人满意的结果,绝不罢手。这种回答,最能和工作结合,能够与工作表现相结合的优点、特质,才是面谈者比较感兴趣的回答。
关于你的个人隐私(是否有男/女朋友,或是否结婚)?
回答提示:在大多数情况下,面谈者会竭力地打探证明你不稳定或不可靠的信息,还有其他一些可能使某个雇主关注的问题,这些只是对某些性格的人的推测,都是些不相关的问题,但是,如果雇主想以此来了解你是否可靠,你就得全力以赴地去应付了。要记住即使是随意地闲谈也要避免提及隐晦的问题。在回答个人情况时,要态度友好而且自信
99.你说一下对**专业内容的了解,对此专业应用领域的了解
回答提示:如果是精通的,一定要详细阐述;如果只是了解,也要对其中掌握的进行一下简单描述;如果确实不知道,就说“对不起,不是很了解”。因为没有一个什么都知道。
100.你认为求职,穿什么去面试合适
回答提示:女生:建议穿白色有领衬衣,配长过膝盖的中裙或西装裤,可准备一件质地较好的外套方便穿脱,色彩以淡雅为宜。关键词:优雅、美丽、精致.忌:嘻哈风、黑白灰、低胸露背装/宜:淡妆、裙装、明快色系、精致配饰
男生:在色彩和款式上,要重在表达亲近感,增强亲和力。关键词:稳重、整洁/忌:T恤衫&牛仔裤/宜:衬衫&西裤