软件测试面试中,介绍做过的项目,可以说是必不可少的一道面试题了,对于面试的同学来说,该自己发挥呢?
把项目的所有功能噼里啪啦说一遍就完事了?当然不是,我们要搞清楚,面试官问这个题的目的。
面试官主要想知道你参与项目的体量,你在项目中做了哪些有价值的事情,对整个项目起到了什么作用,你具备什么能力,这些能力是否能复用到新的工作岗位,能否带来更大的价值。
清楚了面试官的目的,我们就可以开始发挥了,主要可以从以下几个方面展开:
1、项目的背景
主要包含项目面向的用户群体,用户量,常用的用户场景,甚至可以说下商业模式。
例如这是一个B/S架构的系统,分为代理商前台和运营后台,用户量大概在5w左右,主要的用户场景是,代理商通过前台生成一些游戏产品的推广链接,拿出去推广,运营人员根据推广量,根据一些规则,来给代理商进行结算分成,代理商每月可进行提现。
主要的盈利就是中间商赚差价,上游广告方给我们推广费,我们付费给代理商推广,中间的差价就是营收。
2、项目基本功能
像登录注册这种功能就别说了,介绍点测试起来能体现出你水平的功能或者自己所负责的功能模块。
例如主要功能包含代理商生成推广链接,提现,查看产品收益等,运营人员在后台可查看推广产品,提现数据,推广产品的数据报告,产品的分成方式,权限设置等等。
后面可再细化下比较复杂的功能模块,尽量完整点。
3、迭代周期
多久迭代上线一次。
4、项目组人员比例
项目经理、产品经理、开发人员、产品人员,测试人员各有多少。
5、负责的模块
划重点!!!在介绍负责的模块时,千万不要说我测试了XX模块,就没了,我们要在这个模块中体现自己的能力,例如是怎么进行测试的,用到了哪些测试方法,用到了哪些技术或工具,以及测试过程中遇到了哪些难题,是怎么解决的。
1)接口自动化测试
例如:实现了XX个接口的自动化测试,编写了XX接口自动化测试用例,提升了XX测试效率,线上Bug率下降XX,在实现接口自动化的过程中,用到了JMeter/Postman测试工具。
运用的JMeter相关知识包括:实现接口之间的关联、利用CSV Data Set Config进行参数化、设置响应断言/JSON断言/BeanShell断言、处理接口签名Sign等等。
最后将写好的接口自动化脚本集成至Jenkins,实现了Jenkins+JMeter+Ant的持续集成,接口每天凌晨会定时运行,并将执行的结果发送至邮箱,有问题可及时查看。
2)Web端的UI自动化测试
例如:实现了XX个Web界面的UI自动化测试,编写了XXUI自动化测试用例,提升了XX测试效率,线上Bug率下降XX。
在实现UI自动化的过程中,用到了Python+Robot Framework测试工具,在实现过程中,最难解决的就是元素定位问题,通过id,name,xpath,css等方法解决了元素定位的大部分问题。
3)移动端的UI自动化测试
例如:实现了XX个移动端的UI自动化测试,编写了XXUI自动化测试用例,提升了XX测试效率,线上Bug率下降XX,在实现UI自动化的过程中,用到了Python+Appium+Jenkins。
4)压测
例如:利用JMeter进行项目的压测,项目是一个Web的年会项目,在活动上线前,对系统进行一个摸高压测,根据预估的流量,对系统配置进行优化调整,保证活动期间,系统能正常运行。
对其中的抽奖等5个接口进行压测,通过编写压测脚本,准备压测服务器,进行压测,观察服务器资源消耗情况,记录压测结果,分析压测结果,提交性能Bug,开发修复性能Bug,发送测试报告等一系列流程。
在时间紧任务重的情况下,完成了性能测试,找到了性能瓶颈,保证了项目正常上线。
5)安全测试
例如:运用AppScan+sqlmap工具,独立完成了4个项目的安全测试,扫描出来的安全漏洞主要包括sql注入,sql盲注,跨站点请求伪造CSRF,跨站点脚本攻击XSS等。
做完安全扫描后,线上没有出现安全问题,公司请的第三方安全团队再次扫描时,也没有发现新的致命性的漏洞。
6)抓包
在测试过程中,会利用Fiddler进行抓包,定位前后端问题,然后正确地将Bug指派给对应的前后端人员,避免Bug被踢皮球的情况,同时减少沟通成本。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取