赞
踩
测试开始与结束时间,测试版本、测试人员、测试结果、测试环境,此版本的缺陷列表,哪些是新功能,哪些是上个版本遗留的缺陷,哪些是优化/改进,测试用例的通过数,测试用例的未通过数,以及测试用例的通过率,未通过的用例都集中在哪几个功能模块 ,根据测试经验以及测试结果进行一个缺陷的分析和建议。
答:测试报告一般包括一下几点
① 基本的知识情况,那么包括测试时间、测试人员、测试环境,以及测试用例的执行情况
② 缺陷的统计分析包括了缺陷的汇总,然后从不同维度缺陷的统计以及分析,还包括遗留问题的整理
③ 知识结构和建议,包括了知识的风险,还要测试的结论,例如测试是否通过、允许上线这些
有选择银行卡、输入付款金额、手续费、提现按钮
切记:面试官给你一个页面,肯定不仅仅只是页面,还有该页面与后一个页面的接口成功/失败验证
函数助手选择对应的加密方式,生成函数字符串,将函数字符串存放在请求参数中即可
当时面试是这么说的:
测试角度:软件可以达到需求的指标,界面设计美观大方
用户角度:软件的易用性、兼容性、可理解性和用户体验度好
面试官补充了开发角度:代码易于维护,易于迭代,易于接手
1、本身页面代码就是空白的。浏览器按F12查看
2,本地无网络,浏览器缓存是否为空白页
3,发送超时,接收超时,服务器超时。
4,域名错误,ip解析不了。
以下测试点供参考:
填写符合要求的数据注册:用户名字和密码都为最大长度;
填写符合要求的数据注册:用户名字和密码都为最小长度;
填写符合要求的数据注册:用户名字和密码都是非最大和最小长度的数据;
必填项分别为空注册;
用户名长度大于要求注册1位;
密码长度大于要求注册1位;
用户名是不符合要求的字符注册;
密码是不符合要求的字符注册;
两次输入密码不一致;
重新注册存在的用户;
改变存在的用户的用户名和密码的大小写,来注册:
看是否支持tap和enter键等:密码是否可以复制粘贴;密码是否以“之类的加秘符号显示
操作系统兼容性
浏览器兼容性
分辨率兼容性
弱网测试
确认测试通常指的是开发人员修复了缺陷并且提交了新的版本给测试人员,测试人员验证这些缺陷是否得到修复的过程。这里的确认指的是确认缺陷是否真正得到解决。对于解决了的缺陷,测试人员将关闭该缺陷,对于没有解决的缺陷,测试人员通常会重新打开该缺陷以便开发人员再次修复。
top: 查看正在运行的进程的内存等
free:查看系统的总内存
tail -n 10 test. log :查询日志尾部最后10行的日志
df:查看磁盘
su:切换用户
vi/vim:编辑模式
cat:查看文件
mkdir:创建文件夹
touch:创建文件
ifconfig:查看ip地址等信息
pwd:查看当前所在目录的绝对路径
find:在指定目录下查找文件
grep:用于查找文件里符合条件的字符串。
rm -rf 文件名:删除文件,其中-r是删除文件夹和子文件夹,-f是强制删除
grep ‘a’ 1.txt:文本搜索,其中-n 显示匹配行和行号;-i忽略大小写
chmod 777 文件名:更改文件权限
1.查看被占用端口:netstat -ano,列出所有端口的情况,2.查看被占用端口对应的PID,输入命令:netstat -aon|findstr “49157”,3.tasklist|findstr “2720”,4.结束该进程:在任务管理器中选中该进程点击”结束进程“按钮,或者是在cmd的命令窗口中输入:taskkill /f /t /im Tencentdl.exe
Linux下如何将一个用户下的文件拷贝到另一个用户里
Linux中可能需要在不同的用户下进行传递文件,比如用户1(user1)下的/ect目录下的文件1(abc),拷贝到用户2(user2)下的home目录下。
1.用user1登录,将文件1 abc拷贝到/tmp/目录下
cp abc /tmp/
2.登录用户2(user2),将文件从/tmp/拷贝到home目录下
su - user2
cp /tmp/abc ~/
3.返回到user1,将/tmp/下刚刚拷贝的删掉
exit
rm /tmp/abc
.zip文件的解压和压缩
解压:
unzip file1.zip 解压一个zip格式压缩包
bunzip2 file1.bz2 解压一个叫做 ‘file1.bz2’的文件
gunzip file1.gz 解压一个叫做 ‘file1.gz’的文件
压缩:
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
bzip2 file1 压缩一个叫做 ‘file1’ 的文件
gzip file1 压缩一个叫做 ‘file1’的文件
gzip -9 file1 最大程度压缩
.tar文件的解压和压缩
解压:
tar –xvf file.tar 解压 tar包
tar -zxvf file.tar.gz 解压tar.gz
tar -xjvf file.tar.bz2 解压 tar.bz2
tar –xZvf file.tar.Z 解压tar.Z
tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
压缩:
tar -zcvf 压缩文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
.rar文件的解压和压缩
解压:
rar x file1.rar 解压rar包
unrar x file1.rar 解压rar包
压缩:
rar a file1.rar test_file 创建一个叫做 ‘file1.rar’ 的包
rar a file1.rar file1 file2 dir1 同时压缩 ‘file1’, ‘file2’ 以及目录 ‘dir1’
APP功耗测试是针对APP的耗电量进行的专项测试,常用方法有:
1.通过手机自带的电量消耗查询的应用查看各个APP电量消耗。
2.基于硬件设备的耗电量测试(在生产厂家用的比较多),具体方法:将手机电池拿掉,并将电流表串联在手机和外部电源之间,将开启APP时的手机耗电量和没有开启APP情况下的耗电量进行对比。
3.利用专业的功耗测试工具
一套完整的测试应该由五个阶段组成:
1.测试计划
首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,
以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。
2.测试设计
将测试计划阶段制定的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。
3.测试开发
建立可重复使用的自动测试过程。
4.测试执行
执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。
5.测试评估
结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。
对于网站登录功能的测试,可以从以下这些方面考虑,以下测试点供参考:
用户名和密码都符合要求(格式上的要求);
用户名和密码都不符合要求(格式上的要求);
用户名符合要求,密码不符合要求(格式上的要求);
密码符合要求,用户名不符合要求(格式上的要求);
密码是否可以复制;
用户名或密码为空;
数据库中不存在的用户名,不存在的密码;
数据库中存在的用户名,错误的密码;
数据库中不存在的用户名,存在的密码;
输入的数据前存在空格;
输入正确的用户名密码以后按[enter]是否能登陆;
如里注册时密码区分大小写,登录时也要区分密码的大小写等;
使用抓包工具查看密码是否明文显示。
参考答案:自动化测试不能完全替代手工测试,在下面的领域中自动化测试会有一定的局限性。
参考答案:Selenium中没有提供原生的方法判断元素是否存在,一般我们可以通过定位元素+异常捕获的方式判断。
法一:
#判断元素是否存在 try: dr.find_element_by_id(‘element_name’) except NoSuchElementException: print (‘element does not exist’)
法二:可以使用elements,查看返回的列表长度是否为0,为0时表示页面元素不存在
XPath 使用路径表达式来选取 XML 文档中的节点或者节点集,可用于识别网页中的元素。当需要定位的元素,没有可以利用的属性的时候,我们可以使用 xpath 进行定位,xpath 可以定位到页面上的所有标签。
绝对路径用 - / 单斜杠
相对路径用 - // 双斜杠
ID,类,名称也可以用于XPath:
//input[@name=’q’]
//input[@id=’lst-ib’]
//input[@class=’ lst’]
如果id / name / class的一部分是常量 :
//input[contains(@id,’lst-ib’)
参考答案:当用户给Web应用系统提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。
在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
1.熟悉被测产品-业务需求、产品架构
2.确定测试方案
3.准备功能用例
4.编写自动化脚本
5.执行自动化脚本,收集测试结果-输出报告
6.BUG管理,修复,回归测试
7.测试报告提交
8.项目版本确定-上线
参考答案:对Web进行自动化测试,典型的场景有:
元素定位:无论使用XPath,Dom还是CSS,需要简单方便的API定位元素,可以延时等待元素出现;
交互操作:包括文本框、单选框、多选框、按钮、表格单元的输入或者点击;
页面操作:页面切换和关闭、对话框切换和关闭;
其他要求:对主流浏览器测试的支持、对JavaScript的支持等
①.可以使用万能验证码进行绕过
②.在测试阶段取消验证码功能
③.获取验证码相关功能获取其session和cookie,在进行提交测试
参考答案:功能自动化测试工具通常通过自动录制、检测和回放用户的应用操作,将被测系统的输出记录同预先给定的标准结果进行比较,功能测试工具能够有效地帮助测试人员对复杂的企业级应用的不同版本的功能进行测试,提高测试人员的工作效率和质量。
其主要目的是用于检测应用程序是否能够达到预期的功能并正常运行。功能测试工具可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。
这类工具的主要代表有应用于Windows界面自动化的UFT(QTP)、Web页面自动化测试工具Selenium,APP界面自动化测试工具Appium等。
fiddler主要用来做app抓包使用,做弱网测试。现在fiddler客户端做好各项配置,端口设置为8888,然后在手机上设置代理,就可以抓包了。抓包可以看到服务器返回的值(弱网),还能够修改传入参数,传出的参数(接口),模拟网络延时,去构造不同场景。
1.打开fiddler,默认配置,按F12直接开始抓包,或者在顶部file-> capture craffic开始抓包(注意,在抓包之前需要确认右下角的状态是all processes)
2.运行浏览器,输入需要抓包的网址与页面>>>运行
3.返回fiddler,按F12或file-> capture craffic结束抓包
4.在右边框点击filters进行过滤,输入网址后点击actions运行抓包结束
5.修改参数:Rules中设置automatic breakpoints中的before requests,然后在raw中进行参数的修改,再执行Run to Comepletion,查看参数修改后的结果。
(1)cookie数据存放在客户的浏览器上,session数据放在服务器上。而token是接口测试时的鉴权码,一般情况下登陆后才可以获取到token,然后在每次请求接口时需要带上token参数。
(2)cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session,session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面应当使用cookie。
(3)可以将登陆信息等重要信息存放为session;其他信息需要保存,可以放在cookie。
PyMYSQL是在python3.x版本中用于连接mysql服务器的一个库
- 首先导入模块(提前pip安装) import pymysql 或者 import mysqldb
- 打开数据库连接 db = pymysql.connect(“ip”,“port”, “username”, “psw”, “db_name”)
- 创建一个对象 cursor = db.cursor()
- sql查询语句 sql = “select * from emp;”
- 执行sql语句 cursor.execute(sql)
- 获取所有记录列表 cursor.fetchall() 然后for循环遍历
-关闭游标cursor.close()
- 关闭数据库连接 db.close()
import pymysql
# db = pymysql.connect(host=ip地址,port=端口,user=用户名,password=密码,database=数据库)
db = pymysql.connect(host='192.168.1.11',port=3306,user='XX',password='XX',database='XX')
cursor = db.cursor()
sql = 'select * from XX'
cursor.execute(sql)
datas = cursor.fetchall()
for i in datas:
print(i)
cursor.close()
db.close()
项目的背景:
软/硬件环境:
业务:
职责:
薪资结构组成:工资+项目奖金+年终奖金
职业规划是什么:该公司的这个岗位的职业规划
最深刻的bug:按种类,日志显示修改重新上线的id是一样的,首页数据n,去重查询n-1,然后数据是两个不同的年份是两条数据(根据年份group by)
移动端版本更新升级主要分为强制更新和非强制更新。
强制更新:强制升级是否可以升级成功、升级后的数据是否正常、旧数据是否可以正常使用、强制升级的弹窗是否可以关闭、版本号对比等
非强制更新:1)提示弹框的显示、2)选择暂不更新、3)选择立即更新下载软件不安装,查看是否重新提醒升级、4)非强制更新弹框的提示频率、5)查看设置部分的版本更新、6)回归老版本查看数据是否混乱、 7)版本号对比等等
因为目前移动端产品的使用用户所处的网络并非完全的流畅WIFI环境,仍有相当多的用户主要使用4G、3G、2G等网络,另外因移动端产品使用场景多变,如进地铁、上公交、进电梯等,使得弱网测试显得尤为重要。
1、iOS有ios设置各种2G,3G网络的设置
2、可以使用fiddler。Charles等抓包工具设置
3、Chrome的开发者工具F12–>网络可以设置网速
比如搜索功能的模糊搜索和精准搜索
输入一个完整的商品名称比如维他奶,页面就会显示有这个商品的信息;
当只是输入维的时候,页面就会显示商品名称有维字的商品信息
参考答案:对于网站查询功能的测试,可以从精确查询与模糊查询两个方面考虑,以下测试点供参考:
1、 精确查询:
输入的查询条件为数据库中存在的数据,看是否能正确地查出相应得数据;
输入正确的查询条件前面加上空格,看是否能正确地查出相应的数据;
输入格式或范围不符合要求的数据,看是否有错误提示;输入数据库中不存在的数据;
不输入任何数据;
是否支持table键;
是否支持enter键。
2、 模糊查询:
在精确查询的基础上加上以下一点;
输入一些字符,看是否能查出数据库中所有的相关信息。
参考答案: Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协议下发行。
Nginx相较于Apache\lighttpd具有占有内存少,稳定性高等优势,并且依靠并发能力强,丰富的模块库以及友好灵活的配置而闻名。在Linux操作系统下,nginx使用epoll事件模型,得益于此,nginx在Linux操作系统下效率相当高。
参考答案:APP是软件系统的一种表现形式,需要根据需求从以下各个方面开展测试:
硬件平台和操作系统
a) 版本
b) Bug报告优先级:紧急、严重、重要、次要、微小
c) Bug状态:打开、已解决、关闭、重新打开等
d) Bug的编号
e) Bug的分类:新功能、优化、改进、缺陷
f)发现人
g) 经办人
h) 描述
i) 角色
l) 所属模块
m) 附件
n) 提交日期
参考答案:B/S架构的全称为Browser/Server,即浏览器/服务器结构。Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现。
B/S架构的系统无须特别安装,只有Web浏览器即可。其实就是我们前端现在做的一些事情,大部分的逻辑交给后台来实现,我们前端大部分是做一些数据渲染,请求等比较少的逻辑。
B/S架构的优点:
1、客户端无需安装,有Web浏览器即可。
2、BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。
3、BS架构无需升级多个客户端,升级服务器即可。可以随时更新版本,而无需用户重新下载。
B/S架构的缺点:
1、在跨浏览器上,BS架构不尽如人意。
2、表现要达到CS程序的程度需要花费不少精力。
3、在速度和安全性上需要花费巨大的设计成本,这是BS架构的最大问题。
4、客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。(在Ajax风行后此问题得到了一定程度的缓解)
参考答案:Web系统如果与外部系统有交互,这个时候重点要测试与外部系统的接口,也就是接口测试。
以下是关键的测试点:
服务器接口:浏览器与服务器的接口-这种测试可以归到功能测试中的表单测试中
外部接口:确认软件能够处理外部服务器返回的所有可能的消息
接口错误处理:在处理过程中中断事务,查看会发生什么情况
参考答案:Android SDK为了方便应用开发者开展调试工作,提供了一系列的工具,以下列举的是对于测试工程师来说比较常用的工具/命令:
1、 adb: ADB的全称为Android Debug Bridge,就是起到调试桥的作用。通过ADB我们可以在Eclipse中方面通过DDMS来调试Android程序,就是debug工具。
2、 ddms:Dalvik Debug Monitor Service,是Android 开发环境中的Dalvik虚拟机调试监控服务。
3、 monkey:Android 中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。
4、 uiautomator: UIAutomator是Eclipse自带的用于UI自动化测试工具,可仿真APP上的单击、滑动、输入文本等操作。
参考答案:对于Web应用系统需要开展的测试涉及到功能、性能、安全、兼容性等各个方面。在开展其他类型测试之前,功能测试与兼容性测试通常是最先开展的测试,以下列举了一些测试要点,供读者参考:
一、链接测试:
1.测试所有链接是否按指示的那样确实链接到了该链接的页面链接测试
2.测试所链接的页面是否存在
3.保证Web应用系统上没有孤立的页面
二、表单测试:
1.用户注册、登录、信息提交等,必须测试提交操作的完整性,以校验提交给服务器的信息的正确性
2.检查相关联的数据显示是否正确。
3.如果使用了默认值还需要检验默认值的正确性
4.如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受指定的某些值,测试时可以跳过这些字符,看系统是否会报错
5.如果系统只接受限定范围之内的字数,测试时可以通过边界值、等价类方法设计有效和无效的测试用例,检查系统是否能够正常处理
6.数据一致性:检验用户提交的表单信息是否正确
7.输出:检查网络速度或程序设计问题等是否引起输出错误
三、应用程序特定 :
测试人员需要对应用程序特定的功能需求进行验证的功能需求
四、兼容性测试 :
Web应用的功能在不同的操作系统与浏览器进行验证
1、首先进行需求分析:用xmind梳理测试点,再编写案例,之后就行案例评审,寻求他人意见。之后再完善案例,发出来给其他人检查。
2、测试点:首先是UI方面、美观度、易操作性、易理解性等方面进行测试。
3、然后再考虑他的功能点,注册、登录、添加购物车、下单、支付、发货、确认收货、评价、支付时候的绑定银行卡等功能。
4、性能方面:打开网页、确认订单、付款的响应时间等。
5、兼容性:支持各种主流浏览器,ie、360、火狐、谷歌等。
6、针对添加购物车,考虑如下测试点(对应数据库增删改查操作):
使用测试用例的好处主要体现在以下几个方面:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。