【高级题】
面向对象编程就是把具有共性的事务抽象成属性和方法来进行编程。
start()方法可以用来启动线程,调用该方法,会创建一个新的线程,然后内部执行run()方法;不能多次调用,否则会抛异常;
直接调用run()方法,不会创建新的线程;可以进行多次调用。
比如有两张表 A,B。左连接是把符合条件的所有A表的内容列出来,B表如果没有内容匹配用NULL代替。
右连接是符合条件的所有B表的内容列出来,A表如果没有内容匹配用NULL代替。
索引是由表或者视图中的一列或多列生成的键,可以加快在表或者视图中检索行的速度
接口测试是测试系统组件间接口的一种测试。接口测试就是测试不同系统或模块之间资源交互是否正确。
因为在大部分系统和产品中,资源数据都是核心,所以接口是需要要测试的,并且接口中大部分内容都是数据,通过数据的对比可以推测系统和产品的逻辑,测试接口就是测试逻辑。所以很必要做接口测试。
a.出现bug,通过接口测试,清晰找到bug的源头,是前端还是后端的bug;
b.回归测试,利用接口测试原有的接口是否正常,保证之前的业务流程没有受影响;
c.接口开发完成后,可以做接口测试。
soapUI、postman、jemeter、insomnia、paw。
a.接口的通过性验证:数据正确输入,是否正确返回结果。测试接口的正常场景和异常场景;
b.边界测试:不按照你接口文档上的要求输入参数,测试其边界情况。比如说必填的参数不填,输入整数类型的正常,超过参数取值范围等;
c.参数组合:如果接口中有参数需要组合用的,两个参数是组合使用,测试其各种情况;
d.异常验证:测试幂等情况,并发情况,事务测试等异常情况;
e.接口安全:绕过验证,敏感信息加密等情况;
f.性能测试:响应时间、并发数、吞吐量、服务器资源利用率。
swagger 、 接口自动化脚本。
接口表现与接口文档的一致性;
请求参数:必选和非必选、长度、字符类型、为空、缺失、组合、重复;
返回数据:正常和异常。
自动化适合做为回归测试的主要方式,新上线的功能一般都是用手动测试方式,一些极端和用户习惯操作还是手动测试比较方便。尽可能线上稳定的功能模块都做成自动化,提供效率。
自动化主要作为回归测试,减少测试时间。UI自动化没有弄,基本找不到bug 。
主要跑的是业务流,所以跑一次需要半个小时左右。
金字塔结构, 最底层UnitTest,往上接口API/集成起来的service, 最上面UI自动化。
提前准备好,在代码里的yaml文件。
业务不变的情况下,一般脚本都是不坏不动的。
a.做性能需求分析,挑选了用户使用最频繁的功能来做性能测试,比如:登陆,搜索,提交订单,确定性能指标,比如:事务通过率为100%,90%的事务响应时间不超过5秒,并发用户为1000人,CPU和内存的使用率为70%以下;
b.性能测试计划,明确测试时间(通常在功能稳定后,如第一轮测试后进行)和测试环境和测试工具的选择;
c.编写性能测试用例;
d.搭建性能测试环境,准备好性能测试数据;
e.通过性能测试用例,编写性能测试脚本;
f.性能测试脚本进行调优,设置检查点、参数化、关联、集合点、事务,调整思考时间,删除冗余的脚本等;
g.设计性能测试场景,使用nmon工具监控服务器,运行测试场景;
h.分析性能测试结果,如果有问题(性能瓶颈),收集相关的日志提单给开发修改;
i.开发修改好后,回归性能测试;
j.编写性能测试报告;
相关指标:响应时间、并发数、吞吐率、资源利用率、TPS。
负载测试是模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。
压力测试是在高负载情况下对系统的稳定性进行测试。是在高负载(大数据量、大量并发用户等)下的测试,观察系统在峰值使用情况下的表现,从而发现系统的功能隐患。
负载测试:多用户,用户数渐增,持续同时发同一业务请求,产出最大TPS;
压力测试:多用户,资源使用饱和,持续同时发同一业务请求,产出系统瓶颈或使用极限。
基础监控和应用监控。
基础监控包括机器是否死机,cpu,内存,磁盘使用率等;应用监控包括日志监控、端口监控、进程数监控等。
好处:防止系统B出错引起测试错误;不会因系统B的开发进度影响测试;mock后可以快速返回结果,提高测试效率。
坏处:很多情况下无法完全模拟出服务器的所有可能的返回情况,另外,mock掉了关联方之后,整个环境的连通性可能测试的不到位。
服务器内存不够、服务器超出负载、并发量太大、遇到恶意攻击。
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。【保证100%免费】
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。