备战金三银四 I 没有自动化测试项目经验的测试人快快看过来

自动化测试的学习需要实际项目来提升技能,本文推荐了三个在线练习项目:JPetStore(电商操作练习)、LeetCode(网页元素操作)和Restful-booker(房间预定)。这些项目业务简单、流程清晰,适合初学者上手。使用练习项目可以避免真实项目中的限制,如个人信息安全和工具屏蔽,同时提供可控的练习环境。然而,它们可能设计较丑且业务逻辑简单,无法模拟复杂场景。在没有真实项目时,这些练习项目是不错的选择,有助于将理论知识转化为实践经验。

学习自动化测试最难的是没有合适的项目练习。测试本身既要讲究科学,又有艺术成分,单单学几个 API 的调用很难应付工作中具体的问题。

你得知道什么场景下需要添加显性等待,什么时候元素定位需要写得更加优雅,为什么需要断言这个元素,而不是另一个。你得有合适的页面控件才能练习某种操作。

现在网上关于练习自动化的文章有很多,但是可以供学习使用的练习项目却非常稀缺。有的项目操作比较简单,无法达到练习各种操作的效果。有的项目非常复杂,光熟悉业务就要半个月。

可以说,一个好的练习项目对掌握好自动化测试至关重要。练习项目的业务不应该太复杂,否则我们需要花很多时间理清业务关系。也不能太简单,否则我们无法练习到有用的技能。项目应该尽可能涵盖较多的知识点,让我们在学习过程中反复练习不太熟练的技能, 而且它最好有通用的管理权限,方便我们自己选择角色等等要求。

我推荐几个还算不错的在线练习项目,如果你苦于没有项目练习,可以去看看。

第一个项目叫 JpetStore, 网址是:

JPetStore Demo

这是一个电商项目,你可以在网站上购买各种宠物。常见的电商网站操作在这个项目中都可以找到,比如注册,登录,查找商品,选择商品,添加购物车,下单,查看定位,确认收货地址等等。

网站需要的个人信息并不需要真实的,付款也不需要真的付钱,并不需要担心个人信息泄漏等问题。而且这个项目由大名鼎鼎的 MyBatis 提供,使用 Spring 框架搭建, 很多 Java 开源项目都用它来举例子。

业务简单,流程清晰,操作类型丰富,几乎是完美的练习平台,非常适合练习 Web 自动化测试。

第二个项目叫 letcode,项目地址是 :

LetCode with Koushik

这是一个网页 ui 元素展示网站,列举了几乎所有流行的网页控件,如果你正在学 selenium 这样的框架,那可以赶紧用这个项目练习一下 selenium 的操作方法。比如点击、拖动、切换等常见的页面元素,在这个网站上都有现成的控件可以操作。你只需要进入首页,然后点击合适的控件,就可以进入这个控件的专题界面。

第三个项目叫 booker, 项目地址是:

Restful-booker-platform demo

它是一个在线预定房间的项目,有点类似携程、艺龙这样的网站。你可以在网站上通过滑动选择房间,然后输入自己的信息完成房间预定。这个网站使用 RESTFul 风格的接口,你可以分析后端接口和前端的交互,对输入信息的合法性进行校验, 适合练习前后端交互和联调。

可能很多人会说:为什么不直接用真实项目,而要用这些在线的练习项目。

首先,我还是建议能用真实项目就直接用真实项目,如果没有再考虑练习项目。你也可以在学习还不是特别熟练的时候先用练习项目上手, 熟练后再通过真实项目实战。

练习项目还有一些额外的好处:

  • 没有对自动化测试工具做拦截和屏蔽,你可以直接上手 selenium 这样的工具,如果在真实项目中,很有可能被检测到,禁止通过 selenium 访问
  • 对个人信息保护更直接。练习项目通过你可以随意构造自己的身份信息,不用担心自己的信息泄漏。
  • 用户交互往往更简单直接。
  • 质量一般没有正式项目那么高,你更容易找到 bug, 有点成就感。

当然它也有明显的不足:

  • 设计会比较丑,可能会影响你的心情

  • 不支持大规模的并发操作,不然会崩

  • 业务逻辑比较简单,很难模拟真实的业务复杂度。

总的来说,在没有正式的项目经验前,找到一个合适的练手项目,把自己的专业知识转变成可以应用的技能,还是非常好的。希望对正在学习的同学有帮助,如果你也有很好的练习项目,欢迎和我一起分享。

小编给各位小伙伴备战金三银四准备了大量学习资料,800道软件测试面试真题,高清打印版打包带走,横扫软件测试面试高频问题,涵盖测试理论、Linux、MySQL、Web测试、接口测试、APP测试、Python、Selenium、性能测试、LordRunner、计算机网络、数据结构与算法、逻辑思维、人力资源等模块面试题,命中率杠杠的。

测试开发工具包:appuim安装包、fiddler安装包(也有配套视频教程)、eclipse、git、jmeter、loadrunner、monkey、postman、soapul、Xmind等等

 


 

### 软件测试面试技巧 对于参与软件测试职位的候选来说,在准备过程中应注重以下几个方面: - **理解基础概念**:掌握基本的计算机科学原理以及编程语言的基础知识。熟悉不同类型的测试方法,如单元测试、集成测试、系统测试和验收测试等[^2]。 - **工具和技术熟练度**:能够操作常用的自动化框架(Selenium, Appium)、性能测试平台(JMeter, LoadRunner),并能编写脚本来提高工作效率。 - **沟通能力**:清晰表达想法的能力非常重要,尤其是在描述缺陷报告时要准确无误;同时也要善于倾听他的意见以便更好地协作解决问题。 - **逻辑思维与问题解决技能**:面对复杂情况可以快速定位原因,并给出合理的解决方案建议。 - **持续学习的态度**:技术更新迅速,保持好奇心不断探索新知有助于个成长和发展职业道路。 #### 常见问题示例 以下是几个可能出现在软件测试岗位上的典型问题及其解答思路: 1. **如何检测应用程序是否存在内存泄漏?** 使用`adb shell dumpsys meminfo packagename -d`命令来监控退出应用后的视图(Views)和活动(Activities),当这些对象的数量不为零时,则表明可能存在潜在的记忆泄露风险。此时可以通过LeakCanary这类专门用于捕捉Java/Kotlin程序中的未释放资源问题的应用来进行更深入地排查,必要情况下借助MAT(Memory Analyzer Tool)进一步的数据挖掘工作直至找到根本原因并加以修复。 2. **解释一下黑盒测试与白盒测试的区别在哪里?** 黑盒测试主要侧重于验证系统的外部行为是否符合预期的功能需求说明文档所规定的内容,而不关心内部结构是如何实现的具体细节;相反的是,白盒测试会基于源代码层面去评估算法效率、路径覆盖程度等方面的表现状况,确保每一行指令都能被执行到从而保障整体质量可靠稳定。 3. **谈谈你对敏捷开发模式下QA角色的理解吧。** 敏捷环境中,质量保证(QA)不再局限于传统的后期介入方式而是贯穿整个项目周期始终参与到各个迭代环节当中。这意味着团队成员之间需要更加紧密合作交流信息共享经验共同进步,同时也赋予了每位参与者更多自主权以灵活应对变化多端的需求环境挑战未知领域开拓创新空间无限可能性。 4. **请举例说明你在实际工作中遇到的一个棘手Bug是怎么被发现并且最终得以解决的过程。** 这类开放型题目旨在考察应聘者的实战经历及处理突发状况的经验积累水平。可以从具体场景切入讲述当时面临的技术难题所在之处采取哪些措施逐步缩小范围锁定目标直至彻底根除隐患恢复正常使用状态为止的经历分享给对方听闻。 5. **假如现在让你负责一款移动APP产品的全流程测试计划制定你会怎么呢?** 需要考虑的因素包括但不限于功能性验证、兼容性适配、安全防护机制审查等多个维度进行全面考量规划合理的时间表安排合适的员配置选用恰当的方法论指导实践操作流程等等一系列准备工作都要到位才能确保任务顺利完成达到既定的质量标准要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值