既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
等价类是指某个输入域的子集合,在该子集合中,
各个输入数据对于揭露程序中的错误都是等效的,
并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部
输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,
就可以用少量代表性的测试数据取得较好的测试结果,
等价类划分可有两种不同的情况有效等价类和无效等价类。
边界值的话就是对等价类划分方法的补充。测试工作经验告诉我,大量的错误往往是发生在输入或输出范围的边界上而不是发生在输入输出范围的内部,因此的话针对各种边界情况来设计测试用例,可以查出更多的错误,使用边界值分析方法设计测试用例的话,首先应该确定边界情况,通常输入和输出等价类的边界,就是应着重测试的边界情况应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
对于错误推断法,这个是基于经验和直觉推测程序中所有可能存在的各种错误,
从而有针对性的去设计测试用例的方法的,主要就是列举出程序中所有可能有的错误和容易发生错误的特殊情况去根据这些情况来选择测试用例,例如,在单元测试时曾列出的许多在模块中常见的错误以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为0的情况。
输入表格为空格或输入表格只有一行。这些都是容易发生错误的情况,可选择这些情况下的例子作为测试用例。
前面介绍的等价类划分方法和边界值分析方法都是着重考虑输入条件但都没有考虑输入条件之间的联系,相互组合等等的情况。考虑输入条件之间的相互组合,可能会产生一些新的情况,
但是要检查输入条件的组合并不是一件容易的事情,即使把所有输入条件划分成等价类,
他们之间的组合情况也相当多,因此的话可以考虑采用一种适合于描述对于多种条件的组合,
相应产生多个动作的形式来考虑设计测试用例,这就需要用到因果图(逻辑模型)。
因果图方法最终生成的就是判定表它适合检查程序输入条件的各种组合情况。
3.6 TestLink工具使用?
(1)创建用户,并给新创建的用户指定权限。
(2)创建测试用例,对测试用例进行增、删、改、查
(3)把测试用例关联到对应的测试计划中。
(4)把测试用例指派给对应的测试人员。
(5)对应的测试人员,查看被指派的测试用例,并执行测试用例。
3.7 如何提交一个好的BUG
对BUG有一个清晰明了的描述; 详细描述BUG重现的步骤
对于产生BUG的环境进行描述; 提交BUG相关的图片和日志;
定位好BUG的等级; 将预期结果与实际结果进行对比。
3.8 提bug需要注意哪些问题?
- 不要急着提交,先跟开发说明bug的情况,定位分析下bug。
是前端问题还是后端问题再去提交bug。
- 简单明了的概括bug标题,清晰的描述bug重现步骤,分析bug和预期正确结果,附加bug的截图或者日志。描述bug的时候。
- 在不能确认该情况是否为bug的时候,可以请教其他人。
- 提交完bug以后,后面还要跟踪bug修复情况。
3.9 bug怎么管理的,bug的生命周期或者是bug的状态
原来bug是用禅道来管理的
原来我们公司bug,提交bug直接给对应的开发人员,对应开发人员修复完成,交给测试复测,
复测通过关闭bug,不通过打回给对应开发。
提交-开发人员(已激活未确认)-开发进行确认,状态变成已激活,已确认,开发修复完成,
标注状态是已修复,测试人员复测通过,已关闭,打回给对应开发,已经激活。
3.10 提交bug包含哪些内容
所属产品、所属模块、所属项目、影响版本、指派人员
截止日期、严重程度、优先级、bug类型、bug环境
Bug标题、重现步骤、附件
3.11 你提交的bug,开发不认可怎么办?
首先我会再看需求文档,是不是我的理解有误,如果是我对需求理解错的话我就去关闭bug。
如果是bug再去让其他测试人员看看听下他们的意见,然后自己先再三去复测,并目保存好截图和日志,确定这是一个bug之后我就去跟开发说明白,并且给他看bug重现的截图以及日志,如果开发还是不认可的话我就跟产品或项目经理说明白情况。
3.12 对应无法重现bug,应该怎么处理?
首先,我会多测几次,测了好多次都无法重现的话我就先把bug挂起,并且留意一下,看看往后的测试中,如果在后面的测试中重现bug就激活,如果经过几个版本都还没发现的话就关闭bug。
3.13 界面中的乱码可以是哪里导致的?
(1)数据库中的编码设置 (2)前端页面编码 (3)后台代码也会编码
3.14 bug的级别有哪些,级别如何判断
1、致命:对业务有至关重要的影响,业务系统完全丧失业务功能,无法再继续进行,
或业务系统丢失了业务数据且无法恢复,影响公司运营的重要业务数据出错。
2、严重:对业务有严重的影响,业务系统已经丧失可部分的重要的业务功能,或业务系统
丢失了业务数据且可以恢复,一般业务数据出错。
- 一般:对业务有较小的影响,业务系统丧失了较少的业务功能,
例如:界面错误,打印或显示格式错误。
- 提示:对业务没有影响,不影响业务过程正常进行,
例如:辅助说明描述不清楚,提示不明确的错误提示。
3.15 测试中,如何判断是前端的bug还是后端的bug呢?
通常可以利用抓包工具来进行分析。可以从三个方面进行分析:请求接口、传参数、响应。
1)请求接口un是否正确如果请求的接口ur错误,为前端的bug
2)传参是否正确如果传参不正确,为前端的bug
3)请求接口u和传参都正确,查看响应是否正确如果响应内容不正确,为后端bug
4)也可以在浏览器控制台输入js代码调试进行分析
3.16 项目上线后发现bug,测试人员应该怎么办
看严重级别:严重还是不严重
严重的:紧急变更上线
不严重:修复好后跟下个版本一起上线
用户会通过运维反馈到项目组这边,项目经理会根据功能模块的负责人,分给对应的开发与测试。
测试人员:编写对应的测试用例、测试环境中重现bug、提交bug、
交给开发进行修复、修复完成bug、进行bug的复测。
如果测试环境无法重现,可以导入生产环境的包到测试环境中测试,
还是不能复现,查看生产环境的日志去定位问题。
3.17 如何保证质量
(1)需求要吃透,多问,多去了解。
(2)严格按照测试流程去执行:多考虑用户测试场景,使用测试用例设计方法,多评审。
(3)要有良好的测试执行:要求用例执行率达到100%,多轮测试,进行探索性测试,
需要测试之间交叉测试,用工具来管理我们的测试工作(禅道, testlink, excel,tapd)
(4)不断的反思与提升。
3.18 产品是怎么上线的?
一般我们会选择晚上上线,开发测试还有产品全部到场,进行上线测试。
首先,开发将代码打包到生产环境的服务器中,如果数据表有变化,就会运行sql文件,
对表的一些操作,接着,我们测试就开始先测试主体业务功能以及新增的功能模块;
测试通过之后,我们会在界面上把上线测试的数据删除,正常上线。
如果发现bug,开发人员当场修复bug,修复成功之后我们测试再复测,通过就可以正常上线
如果发现了bug开发人员在上线规定时间之前都还没有修复好的话,就看问题的严重性,
如果严重就延期上线,如果我们是迭代版本的话我们还需要版本回滚。
如果不严重,产品跟客户觉得可以上线,就正常上线。
3.19 你测试数据是从哪里获得?怎么获得的,假如不告诉你,你怎么处理?
- 一般都是我们测试人员在测试过程自己造的测试数据,如果大量数据,我们可以用到存储过程。
- 也可以让运维人员帮忙从生产环境导出相关的测试数据,如果测试数据中涉及安全性的数据,
直接是不能导出。
3.20 如何测试万分之一概率问题
- 用 Jmeter或者其他自动化测试工具造大量数据
- 让开发修改概率的比例
3.21 为什么要写测试用例?
1)提高测试效率 2)提高测试覆盖率 3)监控测试进度情况 4)也是质量的标准指标
CMM质量体系(用例数也是一个度量标准QA岗位)
3.22 那你们测试用例是怎么编写的
原来我们主要是用exce编写的,当然也用过用禅道, testlink去编写,禅道都是excel表格编写完成,导入禅道系统, testlink也可以Exce表格,编写,编写测试,导入 testlink
3.23 有没有写过测试报告,具体包括哪些内容?
参考答案1:
1)项目背景和目的 2)测试用例设计 3)测试环境 4)测试过程用到的工具
5)测试范围 6)测试用例执行情况 7)测试缺陷分析和总结 8)测试结果
参考答案2:
这个是写过的,测试报告,其实就是把我们测试的整个过程情况,数据统计,做成报告,包括用例执行情况,测试了哪些模块,多少用例,会哪里模块,自动化通过率,自动化跑了多少,是否全部通过,发现了多少bug,bug的情况,是否遗漏bug,测试结论等等这些,基本就这些。
3.24 测试报告中测试的结论是什么?
测试报告里面有个测试结论:
- bug的情况、bug级别、bug分布情况(分布哪些模块)、
bug产生原因(设计问题,需求问题,代码问题)
2)测试是否通过
3.25 如何写好一个测试用例
能够发现bug的用例就是一个好的测试用例
当然我们在编写测试用例的时候,一定要步骤、场景清晰、尽量去覆盖所有的测试场景
3.26 什么是冒烟测试? 在什么时候进行冒烟测试?
冒烟测试一般我们是在系统测试之前,对所有主体的业务功能,测试看是否存在严重bug,
如果存在严重bug,表示,冒烟测试不通过
3.27 回归测试策略
1)功能的回归
优先测试用例级别比较高的功能模块,可以进行自动化测试
如果时间够,进行全量测试
2)bug回归
复测这个bug,并且相关联的模块与功能也会测试一遍,以免由于修改bug导致其他问题产生
3.28 和开发沟通。是怎么沟通的
一般我在提bug的时候跟开发沟通最多,比如有一些不清晰的内容会去问开发,还有提完bug后会跟踪bug的进度,提醒开发尽快修复bug,还有测接口的时候去找开发拿接口文档,其实我们的工作跟开发都是息息相关的所以都经常都会有沟通的。
3.29 测试中有哪些风险
1)测试,需求理解上面有偏差
2)测试人员水平不够,测试人员覆盖点不全
3)测试人员时间不够,导致测试不完全
4)测试环境上面不足,导致测试点不能完全测试完成
3.30 怎么保证测试质量或者你怎么保证你100%覆盖了需求
把需求了解通透,引用用例评审机制,然后编写测试用例的时候用边界值,用等价类补充一些用例,根据过往经验用错误推断法来追加一些用例,如果存在组合情况的话我会用因果图或者判断表来编写,如果业务场景清晰的情况下我会用流程分析法,如果状态有发生改变的话我就会用状态迁移法。编写用例一个极其考验耐心的事情,要考虑到各种场景,全面覆盖到会出现的场景。
3.31 一个需求,7天要上线,你怎么做?
先跟面试官确定,产品什么是转测;
1)如果转测时间,在最近1-2天,直接了解需求开始测试。
2)如果三天后转测,一天半时间了解需求,一天写测试点和写测试用例,一天进行评审和修改测试用例,2天执行试用例与理交bug,最后一天半进行回归测试与编写测试报告。
3)如果4-5天后进行转测试,边开发边测试,一天半时间了解需求,一天写测试点和写测试用例,一天进行评审和修改测试用例,开始执行测试,开发一部分,我们就测试一部分。
3.32产品上线评判的标准?****
1)测试用例执行率100%,通过率95%
2)1-2级bug修复率达到100%,3-4级bug修复率达到95%
3.33测试过程中,发现很多用例重复的,有的人认为没必要再测,你怎么看?****
如果是同一个横块,重复用例,我们可以考虑不再进行重复测试,如果不同模块,引用相同的测试用例,我们还是需要重复测试
3.34上线后有没有另外的测试用例在生产环境里测试
有:我们会去单独去编写测试用例,只是主体流程用例,新增功能的用例
没有:我们会挑选原来测试用例中,级别比较高的用例去执行,或者我们建立一个 checklist列表,去检查功能是否正常使用。
3.35什么是多分支开发和单分支开发?****
git工具相当于svn工具,分支开发每个版本或者模块,开发不同模块,分支合并,把所有的功能全部整合起来,其实就划分功能模块去开发。
3.36**兼容性测试你们是怎么测的?**app与web
Web:
不同的浏览器,E,谷歌,火狐,浏览器显示比例,浏览器前进,后退,刷新按钮。
App:
不同手机厂商,型号,系统版本,内存大小,分辨率,屏幕的大小,高端机与低端机,考虑平板
3.37功能测试重复测试比较高,怎么看待这个问题?****
1)对于测试来说,还是良好耐心,问题无法避免事情,重复的事情还是要去执行
2)重复事情,我们用自动化测试来进行替代
3.38项目同时发布,你怎么处理?****
1)确定下,我们几个项目是否可以同步发布完成
2)如果确定项目不是同时发布(时间问题,人员问题)
确定下项目的优先级,跟客户这边商量优先级低一些项目推迟发布(产品跟客户)
3.39你们开发转测试怎么转的****
1)开发人员发邮件告知对应的测试人员:新的代码地址、最新的sql文件、需求开发完成的情况。
2)测试人员把最新的代码和sql脚本更新到测试环境中,并进行冒烟测试,
要是冒烟测试不通过则转测失败。
3.40你们的开发语言是什么?****
java后台开发:
SSM spring + springy + mybaits(数据的封装)
SSH sprint + springmvc + hibernate
springboot
fianl极速开发框架
maven项目 pom.xml文件 …中央仓库
python后台开发框架
Django flask
前端开发语言:
JavaScript + css+ html bootstrap框架 常用库: jquery简称JQ Es6/E57
php ThinkPHP框架
四、项目
4.1简单介绍下最近做过的项目****
根据自己的项目整理完成,要点:
1)项目背景、业务、需求、核心业务的流程
2)项目架构,B/S还是C/5,数据库用的什么? 中间件用的什么?后台什么语言开发的?
是否有做App端,是否有H5是否开发小程序等等。
3)项目前端有哪些功能模块,后台有哪些功能模块?
4.2拿一个你所负责的模块,讲下具体怎么测的?****
根据自己的项目整理完成,核心要点:
1)拿一个你负责过的模块,核心业务模块讲解
2)业务流程是怎样的,需求怎么样,有什么规则没,规则简单介绍
3)你是如何分析的,讲明分析思路,测试点,主要怎么考虑测试的,主要核心测试重点在哪里,
用了什么测试方法等等。
4.3你在这个项目里面主要做了些什么工作?****
- 在这个项目中,主要是以功能测试跟后台接口测试为主,主要参加了需求评审会议,用例的编写,
参与用例的评审,执行测试。
- 协助开发定位问题解决发现的bug,编写测试报告,协助上线。
- 另外就是做了APP的一些相关项测试,像兼容性测试、稳定性测试、安装卸载版本覆盖测试和app性能都是有做过的,例外后期有做过接口自动化等。主要就是做了这些工作。
[这个具体根据你自己的简历上写的来说]
4.4你们项目组有多少人、开发多少个、测试多少个?****
[公司具体人数,可以不太清楚,项目组多少一定清楚]
[这个一定要根据自己的简历项目大小来说,不能乱说]
产品1、项目1个、架构师1个、前端3个、后端5个、ios1个、Android 1个、
测试3个(测试主管,核心测试人员)、运维1个、UI一个
4.5测试人员怎么分工的?****
1)我们测试组3人,1个测试组长,2个测试,一般都是根据需求的复杂程度大小来,
尽量是自己熟悉哪个版块的就继续做那个版块。
- 比如:我这边主要是负责前端大部分的功能模块,还有接口测试跟ui自动化测试,另一个同事主要是功能测试这边,组长这边也负责一些功能测试,包括一些性能跟安全测试。
- 其实测试工作也划分的没有那么细,后期我们也会做交叉测试,相互测试功能,性能跟安全测试我也会参与一下。
4.6项目的送代周期? 多久一选代? 一个版本你们发现多少bug****
[切记工具自己所选择的项目来回答]
我们公司是这样的,迭代还是蛮快的,一般是两个星期一个迭代,迭代测试两轮。Bug的话不一定哦,关键还得看开发,哈哈,开发的版本质量好的话,BUG就会少些,整个版本比较好的情况下大概也就二十来个BUG,当然如果遇到开发是个新手,那么找到60-70个也是很常见的,比如之前的那个金融项目,足足发现了72个BUG,这样的情况下追踪BUG的工作量都比较的大,如果是版本选代的话,那么基本就不会出现多少BUG了。
参考答案2
因为我们项目的用户活动和三方合作平台比较多,一般半个月或者1个月肯定会有一个迭代版本,
假如用户或者合作方突然有很紧急的需求,那一般老大他们会向上发邮件和OA呈批给(产品经理,项目经理),如果通过了就会马上加急处理这个需求,测试完成直接上线。
现在都是维护为主,但新需求也不断有,一般一个版本上百个bug是有的。
4.7你们整个项目写了多少用例,你负责的模块大概写了多少用例?****
[切记己根据自己的项目及负责的模块来]
答:这个得根据项目的复杂程度,我们最近做的这个也还好,整个项目写了大概2干3百多条(有点多了),我负责的模块就写了一千多条(你要思考,你负责了哪些模块,大概评估下,不要乱喊)。
总结注意点:没有标准答案,先说你的前置条件,再说数据,只要你前置条件和数据匹配即可。
4.8最近的版本写了多少用例?****
(总结注意点:没有标准答案,先说你的前置条件,再说数据,只要你前置条件和数据匹配即可
特别注意:你如果是半个月的版本,一般给你两天写用例,你自己评估下写多少。
半个月的版本:1-2天需求分析,1-2天写用例,1天评审用例,其余的时间就是执行回归bug,编写测试报告)
最近的版本因为没有特别的用户活动,产品那边也没有给特别大的改动需求,我负责的
有5个模块吧,大概有180多条用例。
4.9你的需求分析一般几天,用例大概写了多长时间?执行了多长时间?****
如果按照2周一个版本来算的话,我们需求分析一般是由产品SE先组织我们开会,讲清新版本需求,然后我们再花1天到1天半时间去详细分析需求,另外有2天左右时间来写用例,写完用例会进行用例评审,后面的时间基本就是在执行用例,提bug,并跟进bug修复问题。
4.10在uat测试的时候,突然客户临时要大量的数据****
****备注说明:****uat:测试人员提供用例,uat环境已搭建好,他就开始来执行,如果发现问题,
需要协助,谁负责这个需求,就找对应的人,发现bug,提交到uat版本里面,修复完了,
客户需要回归验证的,我们公司只是辅助他去执行测试。
答案:
看他需要的数据能不能从上个版本,或者生产环境导入数据进来测试,如果没有,我们看能不能 批量修改数据去测试,如果不行,我们只能通过存储过程造数据了。
4.11发现哪些映像比较深刻bug/经典bug?****
根据自己的项目来准备,核心要点:
1)有哪些经典或者说影响比较深刻的Bug,最好是与业务相关的Bug,不要举例说前端的Bug
2)具体怎么分析,讲明你的分析过程。如何定位的…
比如:业务逻辑漏洞;
支付功能:
1)商品选择支付的时候,实际已扣款成功,但是用户后台显示该商品没有付款,
导致不能使用该商品提供的服务。
2)商品所显示的价格是x元,但是实际支付的时候显示和扣款的价格是y元(x≠y)
找密码流程:
按照常规操作,会直接跳跃了某个必须的流程(流程缺失),但是通过url修改参数又可以访问到 该流程,存在安全和逻辑漏洞。
安全漏洞:
1)登录账户:退出or注销之后,浏览器返回键回退之后又可以回到已登录的页面继续操作,识 别用户身份的信息并没有失效,用登录后才能访问的url直接访问也可以登录,安全漏洞。
2)搜索功能:前端页面的搜索输入框中输入特殊敏感符号
(如script> alert(document.cookie)</script),直接搜索后有可能把当前登录账户的
cookie信息直接以弹框的形式暴露出来。
3)新增功能:一开始没有限制字符的类型和数量,当输入特殊符号、超长的字符,
提交后直接抛出包含有 INSERT INTO的完整SQL语句。
4)前端搜索:以敏感字符直接搜索后,客户端和服务端都没有任何字符过滤or转义处理,
直接把数据库和网站服务器的名称、版本暴露。
数据调用/加载异常:
1)翻页功能:有时候会出现前面几页翻页和数据显示都是正常的,往后再翻页就会
出现翻页不了or加载的数据异常。
- 前端页面有几级菜单的情况下,程序都已经调用过,第一级是正常展示的,但是第二级、
三级有可能被折叠而没有显示在浏览器显示。
3)定位到某个导航主题,调用的数据并不是该主题分类的数据,而是调用成了其他分类的数据。
不可逆操作,导致流程受阻:
1)APP测试,orH5页面测试,触发某个操作,比如手机触屏下滑刷新页面,不能恢复到操作前 的正常页面。
2)输入某个异常值提交之后,程序没有相关的处理机制,导致页面保存,没法继续进行其他操 作。
3)登录方式切换:登录时有几种不同的方式,如:密码登录&短信验证码登录,但同一时刻默认 只能显示一种登录方式,当从密码登录界面点击短信登录切换到短信验证码登录界面之后, 没有切换返回密码登录界面的功能。
4)删除异常:正常情况下可以从列表中删除记录,但是若先对列表记录执行了搜索功能之后, 再次删除的时候可能出现删除无响应而删除不了数据。
5)弹框阻止:当触发某个操作,如“保存”、提交”or某个开关按钮,界面中弹单出一个提示框, 此提示框不管怎么操作都无法关闭,直接阻碍了页面上其他功能的操作。
附件上传时,未控制格式尺寸和容量大小,系统处理出现异常:
1)文件上传功能:没有限制上传的文件格式、尺寸和大小,当上传非常规文件(如js文件)、大 容量文件(如:图片大小>20M),较大分辨率(如:1600×1200),服务器没有相应的异常处理 机制,导致网站出现持续长时间的卡顿,影响后续操作。
2)上传的是非常规的文件,如js格式文件,程序无相关控制,直接将js文件上传到数据库, 前端页面访问时若不能解析则出现异常页面。
缺少非空判断,服务器报500错误:
1)编辑包含多个字段的页面时,有一些字段在程序中控制是必填的(事先未知),但是没有任何 说明提示,当不填写这些字段,直接保存时会出现服务器异常页面,报500状态错误。(特别 是在管理后台容易出现此场景)
2)在形如以下结构的if函数中,关系表达式的条件没有对某个变量(该变量因代码疏漏未作初 始化赋值)进行非空判断,就直接执行语句体,程序已空值null进行参与运算而出现异常, 如500错误if(关系表达式)样式导致异常。
3)某个功能(如:金额输入和统计)在A页面程序限制只能输入正整数,而在B页面却没有相应 控制,若不小心在B页面输入了非正整数,比方小数,A和B的数据分别传递到到同一个C 页面时数据处理会出现异常。
4)文章上传/图片上传:超长字符的文章内容or较大尺寸的图片上传,程序没有进行相关的压 缩和截取,直接完全调取到前端页面,导致浏览样式异常,
App测试过程中常Bug: https:/www.cnblogs.com/123456ww/12198075.html
[经典bug:前端申请借款中,用户没有信用额度或者借款金额超过了用户信用额度但是却能成功提交审核]
[发现途径:我是在模拟借款人,借款金额提示我的可用额度为0,但是我输入5000的借款金额点击提交审核提示我提交成功,等待审核]
[解决:首先我去数据库查找到对应的表,比对我的信用额度跟界面显示的数据是否一样,一样我就把数据库的记录,填写的借款信息和我借款成功的界面显示截图都保存好。之后提交这个bug,开发人员通过修改代码,我再复测,有没有重现bug]
[还有一个就是在借款流程中,我们通过修改数据库中的数据,把借款时间修改了,制造出一个逾期未还款的数据,结果显示还款的金额比借款金额还少,而且管理要收得特别高,存在不合理性]
[还有一个是在产品上线后,运维人员在统计数据时发现少了一条数据,我们去数据库检查发现0分0秒的数据没有统计,后来开发人员修改了代码之后就解决了]
1)服务费计算错误,计算公式开发这边写错,本来是利息0.3,写成003,开发修复bug。
2)退出用户,后退还可以进入到原来的登录完成操作后的界面,原始,退出用户,没有删除用 户对应的 session,导致后退完成后,用户用户 cookie可以进行操作。
3)重新选择下拉框,输入信息全部清空,原因,修改类型,重新刷新界面,输入数据,并没有 保存缓存里面,导致一刷新,原来信息没有,解决,开发选择不同借款类型,不再进行刷新。
4)借款标题,输入xss攻击代码,导致接口所有的数据不存在显示,因为xss脚本,当然代码 处理,开发这边进行转义字符串。
5)谷歌浏览器登录不成功,显示验证码。
4.12每个阶段测试开发在干嘛(比如你写用例的时候开发在干嘛?)****
1)需求阶段,大家都在了解需求
2)测试准备,
测试编写用例,开发做概要设计,详细设计,然后就是编写代码,编写接口文档,设计文档。
- 测试执行阶段,
测试人员执行用例,发现bug、提交bug、开发修复bug(开发还有可能在开发未完成的功能)
4.13你们公司是否敏捷开发****
可以说是,也可以说不是。[具体看你了不了解敏捷开发模式]
[问了我有没有做过敏捷测试]
扩展知识储备:
1、什么是敏捷开发
敏捷开发以用户的需求进化为核心,采用达代、循序渐进的方法进行软件开发。
在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,
具语可视、可集成和可运行使用的特征,换言之,就是把一个大项目分为多个相互联系,
但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
2、敏捷开发优缺点:
特点:
- 能适应快速的客户需求变化,快速的交付,注重与客户的沟通。最优先要做的是通过尽早的、
持续的交付有价值的软件,把项目拆分成各个小的子项目,快速开发快速交付,有问题及时调整, 适合高风睑项目。
- 交付周期短,交付的时间间隔越短越好,一周一个迭送代,甚至有时候一周多个选代,
不过每个选代版本的需求不会太多,注重项目持续选代开发交付。
- 整个项目开发期间,业务人员和开发人员必须天天都在一起工作,团队规模不能太大,
团队间强调面对面的交谈。
4、更关注可交付可以使用的软件,而非文档。
5、对团队技术要求高,能快速适应客户对需求的变化。
6、敏捷团队只专注于开发项目中当前最需要的、最具价值的部分。这样能很快地投入开发,另外, 较短的迭代周期使团队成员能迅速进入开发状态。
优点:
1、敏捷开发的高适应性,以人为本的特性,适应客户的更快需求变化,更快的交付成果。
2.更加的灵活并且更加充分的利用了每个开发者的优势,调动了每个人的工作热情。
缺点:
1、由于其项目周期很长,所以很难保证开发的人员不更换,而没有文档就会造成在交
接的过程中出现很大的困难。
2.特别项目存在新手比较多时,老员工比较累.(对开发团队人员的技木要求高)
3、敏捷开发流程图:
4.14你这个项目做了多久? 你这个项目现在的用户里有多少? 活跃量多少?****
时间根据简历来
比如:一年时间,金融项目:100W用户2W活跃用户
五、测试思维
5.1打电话功能怎么去测?****
我们会从几个方面去测试:界面、功能、兼容性、易用性、安全、性能、异常。
1)界面我们会测试下是否跟界面原型图一致,考虑浏览器不同显示比例,屏幕分辨率。
2)功能:给不同人员打电话,不同号码打电话,不同运营商,测试每个按钮是否正常使用,拨打号 码,是输入还是,复制过程,还是其他地方跳转过来,多次拨打电话,双卡选择不同电话卡。
3)兼容性:不同手机型号,厂商,不同系统版本,屏幕大小,分辨率,内存大小
4)易用性:操作是否说的越多越好
5.2给你一个杯子怎么测?****
功能测试:
主要关注水杯基本功能
1、水杯是否可以正常装水
2、水杯是否可以正常喝水
3、水杯是否有盖子,盖子是否可以正常盖住
4、水杯是否有保温功能,保温功能是否正常保温
5、水杯是否会漏水,盖住盖子拧紧后是否会漏水
界面测试:
主要关注水杯外观、颜色、设计等方面
1、外观是否完整
2、外观是否舒适
3、颜色搭配及使用是否让人感到舒适
4、杯子外观大小是否适中
5、杯子是否有图案,图案是否易磨损
易用性测试:
主要关注水杯使用是否方便
1、水杯喝水时否方便
2、水杯拿起放下是否方便,这里会行注到水杯形状的测试
3、水杯装水是否方便
4、水杯携带是否方方便
5、水杯是否有防清功能
6、水杯装有低温或者高温水时,是否会让手感到不适
性能测试:
1、水杯装满水时,是否会露出来
2、水杯最大使用次数
3、水杯的保温性是否达到要求
4、水杯的耐寒性是否达到要求
5、水杯的耐热性是否达到要求
6、水杯掉落时时,是否可以正常使用
7、水杯长时间放置时,是否会发生泄露
兼容性测试:
主要关注水杯是否可以装其他液体,如果汁、汽油、酒精等
可移植性测试:
主要关注水杯放置环境等
1、将水杯放在常温环境中,使用是否正常
2、将水杯放在零下的环境中,使用是否正常
3、将水杯放在高于正常温度的环境中,使用是否正常
安全性测试:
主要关注水杯外观和各种异常条件下是否释放有毒物质等
1、当水杯装满热水时,水杯是否会烫手
2、当水杯装上水后,是否会产生有毒物质
3、把水杯放在零下环境时,是否会产生有毒物质
4、把水杯放在高温环境时,是否会产生有毒物质
5.3图像上传功能的测试点****
1.检查图片上传路径
2.检查图像上传和修改功能
3.检查各种扩展图像文件的上传(例如JPEG、PNG、BMP等)
4.检查文件名中含有空格或其他可用特殊字符的图片的上传
5.检查重复名称图片上传
6.图片尺寸大于最大允许值,上传时应该显示适当的错误消息
7.检查上传的图片文件类型外的其它文件时(例如txt、doc、pdf、exe等等),
应该显示适当的错误消息。
8.检查如果上传的图片满足指定的高度和宽度(如果有定义的话)则可以成功上传,否则不能上传。
9.上传大尺寸图片时应显示上传进度条
10.检查上传过程中的取消按钮是否有效
11.检查文件选择对话框中的文件列表是否只显示支持文件类型
12.检查上传多个图像的功能
13.上传后检查图像质量,图像质量不应该改变
14.检查用户是否能够使用/查看上传的图像
5.4搜索框的测试****
1)搜索按钮功能是否能够实现,验证搜索框的功能是否与需求一致
2)点搜索后,原先的搜索条件是否清空。
3)直看比较长的名称是否能查到输入过长查询数据,看其有没判断,报错系统是否会截
取允许的长度来检索结果。
4)是否有忽略空格的功能,需要有忽略前置空格和后置空格的功能,但不能把中间空格忽略
5)不输入任何内容点击搜索看查询的结果
6)查看搜索框内的默认内容是否与设置的一致,焦点放置搜索框中,搜索框默认内容是否自动被清空
7)输入系统中存在的与之匹配的条件看其的查询后数据的完整性显示记录条数正确、文字折行显示正 确页面布局美观列标题项、列显示内容、排序方式符合需求定义。
8)组合中文和各种特殊符号输入查看能否正确搜索到合的内容
9)输入系统中不存在的与之匹配的条件,是否搜索出信息或者给予提示信息
10)使用复制粘贴,测试搜索框是否能执行
11)注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方
12)反复输入相同的数据(5次以上)看是否报错
13)敏感词汇,提示用户为敏感词汇
{
语句提1;
}else{
语句提2
}
3.某个被调用的方法中缺少某些参数的定义,在不知情的情况下,直接调用时传递了未定义过的参数or类型不匹配的参数到该方法,如果对应网站是处理批量的业务,则可能会导致大面积的500异常页面,对网站正常业务和SEO排名损失风险比较大。
4.新增、编辑->保存,对所提交的字段有的末作非空限制,可以直接保存成功,保存后以空内容展示,可能存在不确定性,比如操作已保存成功的空记录时,是否会影响其他正常添加的记录,是相互独立的,还是会牵连到其他所有的类型。
服务器配置错误(漏配or错配),更新后出现500 or 404:
1.服务器配置文件,如 web.config中把前端访问的url地址写错,直接发布更新之后,前端页 面访问可能会出现404错误。
2.程序代码中的某些逻辑错误和服务器配置相冲突时,前端页面触发某些特定按钮or页面可能 会出现500错误。
数据传递过程无控制,导致数据输出到界面功能异常or样式变形:
- 搜索功能:有的页面本身有回显所搜索关键词的功能,搜索输入框填写的keywords字符较长
(如:100字符),直接搜索后这些长字符显示在页面中,使得页面原来的样式变形,
甚至有的功能按钮被挤到页面之外而不能使用。
2.新增功能:对于新增字段的长度没有任何限制,超长字符新增可以保存成功,回到列表页也没有对 显示的字符长度进行控制,所有字符长度都展示在列表,挤压其他字段的
14)不同搜所的条件之间来回选择,查看是否出现页面错误
15)测试多个搜所条件时,要注意搜所条件的组合测试,可能不同组合的测试会报错
16)点击搜索框,看能否在搜索栏下方显示提供设置好的最近热门搜索词,点击任一可以
直达搜索结果页
17)点击搜索框时,到有搜所历史时,能显示历史搜所内容,历史搜所内容应从上到下按
时间排序,点击清空历史清空所有搜索记录
18)直看搜索框最大输入字符数
5.5给你一个电梯,你怎么测****
功能测试:
1)测试电梯能否实现正常的上升和下降功能
2)电梯的按钮是否都可以使用
电梯内分楼层键是否正常
电梯内开关门键是否正常
电梯内的报鳘键是否正常使用
电梯外的上下键是否正常
3)电梯门的打开,关闭是否正常
4)报警装置是否可用
5)与其他电梯之间是否协作良好
6)通风状况如何
7)突然停电时的情况。
8)关注显示屏,电梯内外的显示屏显示的电梯层数、运行方向是否正常
9)有障碍物时,电梯门的感应系统是否有效
10)上升途中的响应
电梯本来在1楼,如果有人按18楼,那么电梯在上升到5楼的时候,有人按了10楼
这时候是否会在10楼先停下来;
电梯下降到10层时显示满员,此时若8层有人等待电梯,是否在8层停
11)是否有手机信号
可靠性测试:
1)门关上的一刹那出现障碍物。
2)同时按关门和开门按钮。
3)点击当前楼层号码
4)多次点击同一楼层号码
5)同时按上键和下键
易用性测试:
1)电梯的按钮的设计符合般人的习惯吗
2)楼层按键高度(小孩和一些身高矮的用户会按键不方便)
3)电梯是否有地毯、夏天是否有空调、通风条件、照明条件、手机信号是否通畅
4)电梯是否有扶手,是否有专针对残疾人的扶手等等
压力测试:
1)看电梯的最大承重量,在负载过重时报警装置是否有提醒
2)在一定时间内不断让电梯上升、下降
稳定性测试:
1)看电梯在最大负载下平稳运行的最长时间
安全性测试:
1)下坠时是否有制动装置
2)暴力破坏电梯时是否报警,超重是否报警
3)停电情况下电梯是否有应急电源装置
性能测试:
1)测试电梯负载单人时的运行情况(基准测试)
2)多人时的运行情况(负载测试)
3)一定人数下较长时间的运作(稳定性测试)
4)更长时间运作时的运行情况(疲劳测试)
5)不断增加人数导致电梯报警(拐点压力测试)
5.6更换头像的测试点(站在app的角度来分析)****
功能测试:
1,点击头像可以放大观看
2,查看头像是否支持放大,缩小
3,刚创建账号时是否显示默认头像
4,查看头像之后点击其它区域自动退出
5,头像支持的图片格式,图片大小
6,支持相机拍摄的图片和从网上下载的图片
7,选择完图片后是否有一个定框
8,选择相片方式,从手机相册获取
9,选择相片方式,用手机照相机拍照
10,头像显示的是方形还是圆形
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
电梯层数、运行方向是否正常
9)有障碍物时,电梯门的感应系统是否有效
10)上升途中的响应
电梯本来在1楼,如果有人按18楼,那么电梯在上升到5楼的时候,有人按了10楼
这时候是否会在10楼先停下来;
电梯下降到10层时显示满员,此时若8层有人等待电梯,是否在8层停
11)是否有手机信号
可靠性测试:
1)门关上的一刹那出现障碍物。
2)同时按关门和开门按钮。
3)点击当前楼层号码
4)多次点击同一楼层号码
5)同时按上键和下键
易用性测试:
1)电梯的按钮的设计符合般人的习惯吗
2)楼层按键高度(小孩和一些身高矮的用户会按键不方便)
3)电梯是否有地毯、夏天是否有空调、通风条件、照明条件、手机信号是否通畅
4)电梯是否有扶手,是否有专针对残疾人的扶手等等
压力测试:
1)看电梯的最大承重量,在负载过重时报警装置是否有提醒
2)在一定时间内不断让电梯上升、下降
稳定性测试:
1)看电梯在最大负载下平稳运行的最长时间
安全性测试:
1)下坠时是否有制动装置
2)暴力破坏电梯时是否报警,超重是否报警
3)停电情况下电梯是否有应急电源装置
性能测试:
1)测试电梯负载单人时的运行情况(基准测试)
2)多人时的运行情况(负载测试)
3)一定人数下较长时间的运作(稳定性测试)
4)更长时间运作时的运行情况(疲劳测试)
5)不断增加人数导致电梯报警(拐点压力测试)
5.6更换头像的测试点(站在app的角度来分析)****
功能测试:
1,点击头像可以放大观看
2,查看头像是否支持放大,缩小
3,刚创建账号时是否显示默认头像
4,查看头像之后点击其它区域自动退出
5,头像支持的图片格式,图片大小
6,支持相机拍摄的图片和从网上下载的图片
7,选择完图片后是否有一个定框
8,选择相片方式,从手机相册获取
9,选择相片方式,用手机照相机拍照
10,头像显示的是方形还是圆形
[外链图片转存中…(img-P4wz7WYu-1715296062364)]
[外链图片转存中…(img-vIEc20aI-1715296062364)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!