面经2022年软件测试面试题大全(持续更新)附答案

软件测试的目的:通过测试工作可以发现并修复软件当中存在的缺陷,从而提高用户对产品的使用信心。软件测试的原则:1.证明软件存在缺陷;2.不能执行穷尽测试;3.缺陷存在群集现象;4.某些测试需要依赖特殊的环境;5.测试应尽早介入;6.杀虫剂现象。

bug不能复现怎么办?1.首先考虑环境问题,看是否能够还原原来的环境;2.遇到问题就要提,不能放过任何一个bug,在提交的bug描述中加上一句话,那就是复现概率,交给开发,开发会根据bug的复现概率,调整bug的优先级;3.尽量回想发生问题时的复现步骤,不要漏掉任何一个细节,按照步骤尝试复现;4.与开发人员配合,让开发人员对相应的代码检查,看是否通过代码层面检查出问题;5.保留发生bug时的log,附加到提交的bug中,希望可以通过log中找到一些蛛丝马迹;6.查看代码,也许是代码变更引起的bug。

get请求使用URL或cookie传参,而post将数据放到div中;get的URL会有长度上的限制,而post的数据则可以非常大;post比get安全,因为数据在地址栏上不可见;一般get请求用来获取数据,post请求用来发送数据。

重载是定义相同的方法名,参数不同,重写是子类重写父类的方法;重载是在一个类中,重写是在子类与父类之间;重载是编译时的多态性,重写是运行时的多态性。

相同点:同样的测试用例设计方法;同样的测试方法:都会依据原型图来检查UI;测试页面载入和翻页的速度、登陆时长、内存是否溢出等;测试应用系统的稳定性。不同点:App的中断测试:来电中断、短信中断、蓝牙中断、闹钟等;App的安装卸载:全部安装、升级安装、第三方工具安装卸载、消息推送、前后台切换、网络环境等;兼容性测试:web项目考虑不同浏览器兼容,App考虑不同操作系统、不同机型、不同屏幕等;网络测试:不同网络与运营商,不同的网络制式,如GSM,CDMA,3G等,在不好或无网络的情况下的app行为;web自动化测试工具较常用selenium,而手机自动化monkey、appium;App测试平台:百度云测、PerfDog、testin云测

1.两者运行机制不同:iOS采用的是沙盒机制,安卓采用的是虚拟机运行机制;2.两者后台机制不同:iOS中任何第三方程序都不能在后台运行,安卓任何程序都能在后台运行,直到没有内存才会关闭;3.iOS中用于UI指令权限最高,安卓中数据处理指令权限最高。

需求分析——>设计用例——>评审用例——>配置环境——>执行用例——>回归测试及缺陷跟踪——>输出测试报告——>测试结果

文档版本信息:包含文档版本、作者、完成日期,如果是修订版需要加上修订记录目录:目录结构要清晰产品架构:一般包括功能架构和信息架构,可根据项目性质来确定角色定义功能摘要:列出一级功能——>二级功能。不需要细分详细功能描述(即产品特性):包括功能列表、原型界面、详细设计等其他产品需求:依据公司产品要求来定,一般包含系统兼容性要求、产品运营要求、性能要求等

1.问题确认与评估;2.明确开发不修改该缺陷的确切原因;3.具体问题具体分析;4.发挥TM与PM的沟通职责

1.通用UI要统一、准确;2.尽量使用业界惯用的表达术语和表达方法;3.每条缺陷报告只包括一个缺陷;4.不可重现的缺陷也要报告;5.明确指明缺陷类型;6.明确指明缺陷严重等级和优先等级;7.描述简洁、准确、完整,揭示缺陷实质,记录缺陷或缺陷出现的位置;8.短行之间使用自动数字序号,使用相同的字体、字号、行间距,可以保证各条记录格式一致,做到规范专业;9.没一个步骤尽量只记录一个操作;10.确认步骤完整,准确,简短;11.根据缺陷,可选择是否进行图像捕捉。

方法:等价类划分法,边界值,场景法,因果图,正交表。内容:等价类:有效等价类,无效等价类;边界值:上点(边界上的点),离点(离上点最近的点),内点(边界有效范围内的任意一点)场景法:基本流,备选流,异常流因果图:输入与输入的关系(异:所有输入条件中最多有一个产生,也可以一个没有;或:所有输入条件中,最少有一个产生、或者多个、或者没有;唯一:有且只有一个条件产生;要求:只要有一个产生,其他跟着也会出现)正交表:因子(所有参与试验的影响试验结果的条件),水平(影响试验因子的取值或输入)

1.功能性:软件需要满足用户显示或者隐式的功能;2.易用性:软件易于上手和学习;3.可靠性:软件必须实现需求文档中指明的具体功能;4.效率性:类似于软件的性能;5.可维护性:软件具有将某一个功能修复之后继续使用的功能;6.可移植性:软件具有从一个平台移植到另一个平台上去使用的能力。

企业用的是Java开发的,搭建测试环境是用Linux+MySQL数据库+Tomcat+war包。还有持续集成,这个方式引入Jenkins,把手动的方式转变成自动化部署像安装配置的时候就在网上找一份文档,按照文档进行配置

项目开始前,我们会先熟悉需求,画好流程图,保证整个流程都覆盖全面,小组之间每个人都根据各自的流程图,各个功能点有哪些限制条件来讲解一下自己对测试点的理解,防止之后编写测试用例时出现遗漏;用例编写完成之后,再进行用例的评审,看看测试点有没有遗漏,对需求理解有没有错误,测试场景是否覆盖完全。

开发环境是程序员们专门用于开发的服务器,配置可以比较随意,一般为了开发调试方便,一般打开全部错误报告。测试环境一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产机上。

压力测试通常是在高负载的情况下来对系统的稳定性进行测试,更有效地发现系统稳定性的隐患和系统在负载峰值的条件下功能隐患等。负载测试是通过改变系统负载方式、增加负载等来发现系统中所存在的性能问题。

get和SVN都用过get操作:getadd.添加所有文件getcommit-m“描述”提交getpushorigin分支名上传分支SVN操作:Checkout(提取)Commit(提交)Update(更新)

分析问题,明确为什么没通过;如果不是明确提交的缺陷确实存在,缺陷报告返回开发人员;开发人员重新修改问题;再次提交测试人员回归测试。

项目的概要描述;测试过程缺陷的统计,一定程度反映项目的质量;整个项目过程有需要改善的地方,提出建议;给出结论,项目是否可以上线。

1.兼容性问题,在IE浏览器提交按钮可以点击,到了谷歌,火狐就不能了2.字段的值显示不是想要的结果,或没有显示。(开发从库表取值有误)3.提交数据之后,状态没有转变为已提交。(代码没有正确获取库表中记录状态改变的状态码)4.修改密码,新密码与旧密码一致也能成功,没有做新旧密码的校验。

查看在整个性能测试过程中,网络的吞吐量是多少,如果网络的吞吐量占到了服务器的70%以上,我们就认为网络存在瓶颈,通常会增加带宽或者压缩传输数据。

CPU使用率不达标,我们会从服务器上导出日志,分析是哪个地方导致CPU使用率不达标,如果分析不出来,就叫上开发一起讨论,确定问题后,就提单给开发修复,修复好了就进行回归测试。

APP的性能测试分为服务器端的性能和手机端的性能。服务器端的性能:jmeter工具进行测试的,和web端性能测试的方法一样的。手机端APP的稳定测试:使用monkey做。

线程阻塞,内存不足,CPU满负荷(现在手机基本都是8核CPU,基本不会出现CPU满负荷的情况)

空指针值,数组越界,内存不足,CPU满负荷(现在手机基本都是8核CPU,基本不会出现CPU满负荷的情况)

adbinstall-rxx.apk覆盖低版本的adbinstall-r-d覆盖高版本的

adbshelldumpsyscpuinfo查看手机cpu的使用情况adbshellgetprop|findstrdalvik手机系统自己运行的内存使用

Adbshellmonkey-p包名Adb-shell–ignore-crashes忽略崩溃Adb-shell–ignore-timeouts忽略延时Adb-shell–ignore-throttle延时毫秒值Adb-shell–pct-touch–pct-motion触摸与滑动事件的比例

1.2G的网速150kbps,折合下载速度15-20k/s2.3G的网速1-6mbps,折合下载速度120k/s-600k/s3.4G的网速10-100mbps,折合下载速度1.5m/s-10m/s4.使用真实的SIM卡,运营商网络来进行测试5.通过代理的方式模拟弱网环境下进行测试(Charles延迟)6.链接模拟弱网的热点进行测试(如360WiFi助手可以设置)

1.后端完成开发,输出接口文档;2.前端开发和后端开发进行前后端联调,结束后后端开发人员提测接口;3.测试人员进行接口测试;4.进行验收测试;5.利用持续集成技术进行持续的校验。

1.有一部分是重叠的,UI测试是通过前端写的界面,是来调用接口的,而接口测试是直接调用接口;2.排除前端的处理逻辑与调用的正确性,在理论上接口测试是可以覆盖所有的UI测试,但实际中,如几口层覆盖所有的业务流,在UI上只测试前端的逻辑,而最终的结果会忽视很多原有的功能点,导致了UI测试的不充分,那么会存在人多分工且实践充分的时候可以尝试接口去做业务流的全覆盖,否则不要轻易地去尝试。

1.有些公司没有标准的接口文档,只能通过抓包获取接口信息;2.通过抓包可以查看整个请求过程以及相应过程,从而分辨是前台bug还是后台bug;3.可以查看是否有敏感信息泄漏;4.抓包进行测试,拦截请求,修改请求数据,查看响应结果本来就是接口测试的一部分。

1.在jmeter的线程组中分别添加JDBCConnectionConfigConfiguration、JDBCRequest、DebugSampler、查看结果数。2.在测试计划中将连接mysql需要的包加到classpath中。3.在JDBCConnectionConfiguration中添加JDBC的配置。

当测试接口的时候,发现某个接口性能比较差,需要进一步判定问题的时候,会压测数据库。压测数据库需要配置驱动,设置连接池大小,需要使用sql去操作数据库。具体的哪条sql问题需要问开发要具体的sql进行压测。

用它来做接口测试。查看接口的返回结果;查看接口是get请求还是post请求;

数据库语言最常用的是SQL多表联查:select*fromtable1t1,table2t2wheretl.id=t2.id这样就是多表联查。leftjoinrightjoininnerjoin

增:altertable数据表名addbirthdaydatetime;删:altertable表名drop列名;改:1.修改字段,不重命名,用modifyaltertable数据表名modifybirthdaydate;2.修改字段,重命名,用changealtertable表名change原名新名类型及约束altertable数据表名changebirthdaybirthdate;查:查询表使用数据select*from表名;部分查询select*from表名where条件;可以使用as为列表指定别名select字段as别名,字段as别名from数据表名where…;

内关联是求交集外关联是以主表为标准,去附表找需要的信息

不能,脚本需要通过Windows调试好之后,才能在Linux上运行,运行的时候,只能通过nonGUL的形式进行启动jmeter,但需要注意的是,csv文件在Windows上与Linux上要统一路径,最好使用相对路径,放到统一目录下边。

cd:进入目录cdapp:切换到app目录cd…:切换到上一层目录cd/:切换到系统根目录tail-10a.txt:查看后10行数据ifconfig:查看ipll:查看文件及其属性vi:编辑rm-rf:删除car:解压及压缩命令cp:复制pwd:显示当前路径mv:移动cat:查看文件内容touch:创建文件taillogcat:查看日志catlogcat:查看日志tomcat:日志tail:查看日志记录信息,tail-fcatinaliaout

tar-xvf文件名:解压tar-nlogcat查看系统日志tar-zcvf文件名:压缩

显示,管理执行中的程序,就是任务管理器

通过脚本代替一些手动化测试的步骤。unittest,web端:selenium;app端:appiumselenium元素定位的方法有哪些?find_element_by_id()(常用)find_element_by_name()(常用)find_element_by_class_name()find_element_by_tag_name()find_element_by_link_text()find_element_by_partial_link_text()find_element_by_xpath()(常用)find_element_by_css_selector()

我们的电脑(c端)上运行自动化测试脚本,调用的是appium的webdriver的接口,appium服务器(s端)接收到我们client上发送过来的命令后,它会将这些命令转换为UIautomator认识的命令,然后由UIautomator来在设备上执行自动化。

1.用户程序安全;2.系统网络安全;3.数据库安全。

1.覆盖用户的需求;2.从用户使用场景触发,考虑用户的各种正常和异常的使用场景;3.用例的颗粒大小要均匀。通常,一个测试用例对应一个场景;4.用例各个要素要齐全,步骤应该足够详细,容易被其它测试工程师读懂,并能顺利执行;5.做好用例评审,及时更新测试用例。

1.在红包钱数和红包个数的输入框中只能输入数字;2.红包最多和最少的输入钱数200,0.01;3.拼手气红包最多可以发多少个红包;4.超过最大拼手气红包是否有提醒;5.当红包钱数超过最大范围是否有提醒;6.余额不足时,红包发送失败,或者会不会匹配切换支付方式;7.红包描述里是否可以输入表情、汉字、英文、数字等;8.红包描述里最多有多少个字符;9.发送的红包别人是否能正常领取;10.发送的红包自己可不可以领取;11.24小时后别人没有领取的红包是否可以退回原来的账户,或者是否还可以领取;12.用户是否可以多次抢一个红包;13.用户在多人群里发红包是否可以抢自己的红包;14.红包余额里的小位数是否有限制;15.返回键可以正常取消发红包吗;16.断网时是否可以抢红包;17.收发红包界面是否有自己以前收发红包的记录,以及和自己实际收发红包是否匹配;18.支付时密码支付和指纹支付是否正常;19.支付成功是否正常返回聊天界面;20.是否可以连续发红包。

1.苹果,安卓系统;2.电脑端是否可以抢红包;3.不同品牌的手机是否正常使用。

1.发红包界面有没有错别字;2.抢完红包界面有没有错别字;3.收发红包界面排版美观合理;4.界面颜色搭配好。

THE END
1.程序员之网络安全系列(六):动态密码动态密码换算表那么什么是两步认证呢?两步认证就是在每次登陆时候填一个手机短信收取的验证码或者手机应用生成的验证码。当然接收验证码的手机号或者应用是需要绑定的,这样只有拿到这部手机并且知道你帐号密码的人才能登陆帐号。 为什么需要它? 对有些人来说,盗取密码比您想象的更简单 https://blog.csdn.net/2401_88326437/article/details/144187441
2.MyBlog(五)在上一节我们实现了用户注册的基础页面,但是作为用户注册页面,需要有一定的基本功能,否则就会出现大量冗杂信息,比如一个人可以注册多个用户,所以这时候我们就需要设置一个用户的验证页面,比如验证码等等!! 一、用户数据提交 此时注册页面已经能够展示出来, 当我们输入内容点击注册时, 怎样对数据进行校验, 同时怎样真正的http://www.kler.cn/a/419047.html
3.iOA零信任安全管理系统方案2:OAuth2认证2.在应用详情页面,单击权限管理,下滑至权限配置。 3.在权限配置模块,分别开启以下两个功能: 开启手机号账号身份关联功能:搜索获取用户手机号,单击开通权限。 ? 开启邮箱账号身份关联功能:搜索获取用户邮箱信息,单击开通权限。 ? 4.配置上述权限后,需要重新发布应用版本才能生效。 https://cloud.tencent.com/document/product/1092/95066
4.Python学习笔记2. 标识符和保留字 有一些单词被赋予了特定的意义,这些单词在用户给任何对象起名字的时候不允许使用。 复制代码隐藏代码import keywordprint(keyword.kwlist)#查看所有的保留字 Select Code Copy 标识符是指变量、函数、类、模块和其他对象的名字。 其规则是: http://down.vvipblog.com/itprogram/python/pybeginner/2861.html
5.今日头条刷评论刷赞刷粉丝刷阅读量版本号:4.2.1 1、修复使用账号Cookie免验证码登录时评论失败的问题 版本号:4.1.9 1、由于头条验证码有时输入正确也提示验证错误 故使用三方打码平台时取消验证码报错功能 版本号:4.1.8 1、由于头条网站用户名密码登录的方式暂时关闭 软件头条账号登录全部改成手机APP客户端接口 https://www.onrmedia.com/news/457.html
6.验证:非空手机号邮箱AdolphYang1 /// 2 /// 验证 非空 3 /// 4 /// 5 /// 6 private void CheckControls(ref bool isOK,params Control[] cons) 7 { 8 9 foreach(Control con in cons) 10 { 11 //非空验证 12 if(con is TextBox) 13 { 14 if (con.Text.Trim().Length <= 0) 15 { 16 con.BackColor https://www.cnblogs.com/adolphyang/p/4741830.html
7.功能用例总结⑥用户名为空,只输入密码 ⑦正确的用户名和密码,但是不区分大小写 ⑧用户名和密码包含特殊字符 ⑨用户名和密码输入超长值 ⑩输入已经删除的用户名和密码 ?登陆时,当页面刷新或重新输入数据时,验证码是否更新 ?验证token值失效 输入链接地址: 搜索框输入检测:不输入 / 输入空格 / 输入较长字符/输入中英文字https://www.jianshu.com/p/5ad9e53f0981?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
8.驾驶证网上预约查询系统获取验证码,90秒内手机会收到系统发送的6位数,填写就去ok了,图片验证码更具数字颜色输入,最后点击“提交”!④在线注册好了就可以返回首页输入用户名:身份证号码和密码(a123456)登陆!⑤登陆成功右上角会显示您的姓名,下面就可以点击"考试预约申请"!⑥选择申请考试时间,考试科目,考试地点,考试车型教练车号等!注:https://www.ybjk.com/ks/qpqiiq.htm
9.Python常用组件命令大总结(持续更新)东木月的技术博客2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 4、发送手机验证码 数据表 #验证码管理表 class AuthCode(models.Model): user='root', #用户名 password='123456', #密码 database='名称', #数据库名称 port=3306, #端口号 charset='utf8' https://blog.51cto.com/liangdongchang/4926913
10.广东新版GSP课件完整版蓄冷剂在规定的时间和温度环境下进行预冷、释冷操作后方可使用; (三)保温箱内使用较低温度蓄冷剂的,采用隔热装置将药品与蓄冷剂进行隔离; (四)药品装箱后,冷藏箱要启动冷藏动力电源和温度监测设备,保温箱内启动温度记录设备,对箱内温度开始实时监测和记录后,将箱体密闭; (五)按照验证确定的温控时限,选择适宜的http://www.360doc.com/content/16/0511/21/962432_558328117.shtml
11.河南省电子税务局登录网址答:河南省电子税务局新版登录系统是根据《中华人民共和国密码法》、《中华人民共和国数据安全法》、《中华人民共和国个人信息保护法》等规定以及国家税务总局的统一工作部署进行的,采用了登录穿透到人,必须输入用户名密码、密码加短信或密码加扫脸双因子验证等安全手段以保障纳税人和缴费人的数据安全,防范用户信息被盗用http://kjks.net/swsw/gswssb/21951.html
12.华为云空服务手机找回通过手机号找回密码续费同价L实例 2核2G 4M 98元/年 热门域名1元 随心购 1元/年 华为云空服务手机找回 更多内容 通过手机号找回密码 通过手机号找回密码 功能介绍 用户在登录页面单击忘记密码,并选择通过手机号找回密码时,需要输入手机号、验证码、新的密码并通过图形验证码校验后调用本接口。 URI POST /api/v2/sdk/pwd/updatehttps://support.huaweicloud.com/topic/1420194-1-H
13.EAS实施常见问题FAQ特别声明:由于证书口令税盘密码等属于用户隐私信息,发票云工作人员不会主动向用户索要也不参与密码相关的实施问题,请参照实施文档进行实施https://www.yuque.com/books/share/d5c93cac-5476-4fdc-9066-bfceb1b855f2?# 《金蝶发票云实施文档》,若用户忘记了可联系相关渠道进行重置,如金税盘密码请联系金税客服人员。https://vip.kingdee.com/article/426484429104606208
14.短信返回值代码回执回执码美好短信平台QR:9027签名不对 QR:9028目标网关不支持长短信 QR:9029路由拦截 QR:9030目标地址(手机号)太多 QR:9031目标地址(手机号)太少 QR:9032发送速度太快 QR:9101验证失败,一般和用户名/密码/IP地址相关 QR:9102没有填写用户名 QR:9103名字没找到 QR:9104IP地址不对 https://m.meihaotongxin.com/h-nd-229.html
15.工作月报总结范文(精选8篇)Get Record () 函数的实现步骤是:首先打开数据库连接, 然后传入sqlstr参数, 该参数是用户名密码联合构造的SQL查找语句, 接着计算用户表中对应用户名密码的记录条数, 如果找到记录则返回1, 否则返回0。用户注册时使用手机号或邮箱号码注册, 通过正确填写系统发送的对应号码的验证码后才能注册。而用户密码需要使用MD5https://www.360wenmi.com/f/fileaesat01z.html
16.192.168.11手机登录现在的路由器,比如小米路由器、优酷路由器等,无需设置IP地址,只要硬件连接好,打开电脑,在浏览器地址上输入指定的网址,就能打开设置页面,进行用户名和密码的设置了! 以后的路由器设置会越来越简单 此文from微信号:网络有咱 手机怎么设置路由器手机登陆192.168.1.1方法 http://www.886abc.com/2471.html
17.单击快速验证手机号或实时验证手机号按钮,无法拉起半模态页面如何在HarmonyOS 2in1设备上查看MAC地址 如何通过hdc命令清除手机中应用的缓存 如何通过hdc命令唤醒开发非UI功能,使用ts开发而非ets开发对应用有哪些影响(内存、CPU、hap大小等方面) 如何判断App的启动https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/scenario-fusion-faq-1-V5
18.EnterpriseSecuritySkill/06News/EnterpriseSecurity通过私有云的模式,企业用户能够在本地对自身的安全大数据进行处理。同时在知识的引导下,配合安全产品的标准化业务流程,使企业用户获得针对未知威胁的“检测”安全科普:手机验证码常见漏洞总结 手机验证码在web应用中得到越来越多的应用,通常在用户登陆,用户注册,密码重置等业务模块用手机验证码进行身份验证。针对手https://github.com/AnyeDuke/Enterprise-Security-Skill/blob/master/06-News/Enterprise-Security-News-Detail.md