您现在的位置是:首页 >技术交流 >软件测试学什么——如何才能按时上线?网站首页技术交流
软件测试学什么——如何才能按时上线?
目录
引言
上线,永远是软件测试工程师最关注的问题。
上线以后,有bug,测试背guo;上线前,出问题,要加班。要保证项目按照正常进度发布,需要整个研发团队齐心协力。 有很多原因都可能会造成项目延期。
1、产品经理频繁修改需求
2、开发团队存在技术难题
3、测试团队测不完
今天我想跟大家聊一下,测试团队如何保证项目按期上线,以及在这个过程中可能遇到的挑战。放到测试人员个人而言,如果因为个人没有规划好测试进度,导致项目延期发布,可能需要承担一定的责任。
这个话题其实可以用来回答很多的面试题。
比如你们公司的测试流程是怎样的?很多人面试的时候都是按照标准的五步、七步回答,机器人也可以照着背的。 还有可能会问一下你们公司是用的什么研发模型等等。 要回答好的话,当然还得结合具体的项目。
一、提前介入测试,认真做好需求分析。
我们要尽可能的了解这个项目的真实情况,包括需求设计,详细设计,流程图、数据流向图,以及数据库的表结构、数据字典,如果有条件,可以看看架构图。 总之,拿到这些有利于我们熟悉需求的文档材料。
在项目启动阶段就开始跟需求人员,产品人员或者是开发人员打成一片,尽可能跟他们多沟通,获取到尽可能多的信息。测试人员可能更喜欢从文档来获取更多的信息,但是目前更多的互联网企业,也不讲究文档,只是强调沟通。他们也没有时间写,也没有历史的文档,所以我们要尽可能通过自己的沟通各种各样的会议来解决这样的问题。
各种会议,能参加尽量参加,比如项目启动会议,产品需求会,架构讨论会,我建议都去参加。 可能别人没有邀请你参加,但是你完全可以和测试经理或者是项目经理申请,一般都不会有人拒绝你。因为你有足够的理由告诉他,我是为了保证质量多了解相关的信息。
很多测试人员不太喜欢参加会议,不深入去讨论需求,导致测试时很被动,写简历也没东西写。
二、测试计划没必要花太多精力。
你了解足够的信息了之后,可以做个简单的测试计划,划分功能模块。测试计划我觉得比较虚,个人建议不要花太多精力在这个上面,找一个模板,套着写一页纸左右就可以了。
因为你做的计划通常都无法按时的去执行,而且通常都会有延迟啊。计划总是得不到一个实质上的一个贯彻,往往会因为各种原因来回改动,测试人员大多数情况都是被动的接受别人的诉求,时间不太好分配,所以稍微写一下大概的进度控制和时间安排就好。
测试计划写什么?
就是尽可能的把这个大板块大块的周期都定义清楚就可以了。
三、测试用例编写
这里不多说,主要就是要高效,然后分好优先级和功能模块,多打标签。
四、测试执行的关键点
测试执行,一般的公司可能是按照经典的三轮测试方式。
第一轮测试,全部都要执行一遍,验证所有重要级别的bug全都是修改完毕。一般来说,第一轮会占据整个测试时间的50%-70%的时间。
第二轮测试,继续把测试用例执行一遍,然后我要验证所有的 bug 全部都解决。不解决没有关系,至少所有的项目人员全都是能够对这个测试的结果表确认,有些 bug 可以延期到下一期改。二轮基本上会占据测试的20%-30% 的时间。
第三轮测试,把已经发现缺陷的用例和相关功能模块回归一遍,验证bug不会因为某种原因重新浮现出来。
上线了之后,还需要做1-2天在线跟踪,因为线上的环境和测试的环境差异还是较大的。
但是,这个测试过程是完全理想化的。现实世界很难出现,往往就是停留在第一轮测试,一直在测,因此要保证在这一轮测试把重要bug都解决,其他bug也要和相关干系人确认好。
五、测试环境
一般情况下,测试环境会有好几套。
最开始的环境是开发环境,这个环境主要就是开发自己简单调试用的。测试接触的是独立的测试环境,在这里面完成测试,有的时候需要测试人员自己搭建测试环境,对于项目比较简单的其实问题不大,但是如果项目比较复杂,打环境可能会浪费很多测试时间。
最好是使用 docker 这样的工具,搭建环境会更方便一些。
后面需要用到的预发布环境,正式环境基本可以保持不变。
需要注意的是性能环境一般和普通测试环境是分开的,因为他需要更多的数据构造。
【一套系统提升学习的好资料】
这里给大家整了一套涵盖软件测试面试资料和自动化测试工程师进阶路线的快速学习方法和资源。
学习方向
学习可不是拼多多,这里学一点哪里学一点、到头来竹篮打水一场空,所以得有个自动化测试所有方向技术点做一份整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
一、计算机基础系列
二、Python专题
三、Python自动化测试框架应用
四、接口自动化测试
五、web、ui自动化测试
六、移动端自动化测试
七、持续集成
八、性能测试
九、安全测试
十、跨平台自动化
十一、测试开发
根据这个学习架构路线,不断地去摸索与提升,突破技术的瓶颈,可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。我也是走过这样一段路,才能获得更多高薪职位的机会,付出终有回报,也算是对我能力的一种认可吧,真正的证明了自己的价值。至少税后30+的薪水是我当前状态下比较满意的。
精品软件测试学习书籍
1.技术沉淀(学习+积累)
对于三年多快四年的测试人员来说,无论是在大厂小厂,还是在外包公司,基本上都是做得功能界面测试,对接口、性能、自动化测试只是有点接触。很多人认为,重复简单的工作对自己的技术是没有提升的,但实际上也有人能从中杀出一条血路,所以关键是你自己是否花了心思,付出了努力。
当然,我个人也有自己的一套学习方式和习惯,平时喜欢利用碎片时间来看点什么东西,比如一些技术性的书籍或文档,还有一些视频讲解等,经常会让我有一种恍然大悟的感觉,对我的工作也起到了很大的帮助。
阅读书籍文档
之前有些做手工测试的同事想转自动化测试,让我推荐几本自动化测试入门的书籍, 我都会建议他们根据自己所在项目的产品来选用对应的自动化测试工具来实践,再结合自身的喜好来选书, 下面推荐几本实用性强的书籍。
1)《Selenium 3自动化测试实战:基于Python语言》
selenium 3自动化测试实战这本书是大佬虫师的作品,虫师可以说是我的启蒙人了,早期看了他很多的文章。这本书系统的讲解最新的selenium 3的应用,涉及到持续集成、两大python单元测试框架unittest和pytest的应用,还有数据驱动、PO模型、selenium的分布式运行等等,非常全面,值得入手。
2)《QTP自动化测试最佳实践》
详细介绍了基于QTP的自动化测试技术,适合自动化测试初学者阅读。因为QTP是付费软件,如果所在公司或项目组能使用正版,那真是个深入学习的好机会。
3)《自动化测试最佳实践》
这本书在自动化测试领域影响深远,它为很多公司指明了测试成功的方向。本书讲述了一些公司应用自动化的经历,其中涉及了很多项目,从复杂的政府部门系统到医疗设备,从SAP业务过程开发到Android移动应用和云计算。
4)《App自动化测试与框架实战》
从App测试基础、实战技术,再到自动化测试框架的搭建,全面地讲解App测试所需要的知识,主要内容为:App测试及其类型、Java编程环境构建、Java语言基础、Android自动化环境精讲、Android自动化测试基础精讲、Android Appium自动化框架、Appium数据驱动测试框架封装实战、Appium关键字驱动测试框架封装实战、持续集成的自动化、Appium常见问题处理方式。
5)《postman接口自动化测试持续集成》
如果你正好需要利用postman完成接口自动化测试的工作,那么这本书很适合你。如果你想看看 postman 是如何完成自动化测试,并与自己的框架比对比对,这本书也适合阅读。这本书,详细讲解了接口测试基础、postman 如何来完成自动化设计和用例编写、newman+git+jenkins+ 钉钉来完成持续集成工作。
进阶视频课程合集
单纯看书是很难学会软件测试的,因为有的知识点没有讲解看懂了你也不会操作无法吸收,而且一直看书看书也很容易浇灭你的学习兴趣~
实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
电商项目实战
web测试项目
web+App+h5+小程序 测试项目
接口自动化测试实战项目
Linux实战项目
面试资料
我们进阶学习自动化测试必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
以上资料,对于想要测试进阶的朋友们来说应该会很有帮助,需要的小伙伴可以进群领取。
总结
我见过很多leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了好几年,更夸张的是7、8年工作内容的重复性比较高,没有什么技术含量的工作。
凡事要趁早,特别是技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。