软件测试需要学什么,这几点一定要知道
新手测试人员有很多关于软件测试和他们将要执行的实际工作的问题。作为新手测试人员,你应该了解软件测试行业中的某些事实。
下面几点建议肯定会帮助你在软件测试的职业生涯中取得更好的成绩。这些“测试真理”同样适用于有经验的测试专业人员。在你的职业生涯中应用下面提到的每一个测试真理,你将永远不会后悔你所做的事情。
1、长期学习软件测试理论
其中包括测试方法熟练运用、测试思维的养成
测试方法可以找一本基础理论的书籍
以下是我入门的两本测试理论书籍,可在公众号回复(电子书)获取电子版
熟练运用和测试思维的养成我认为是需要功能测试经验的积累,多看看别人的用例,别人提交的bug
2、测试中bug定位分析
测试中bug定位可以学习fiddle抓包,数据库分析数据,查看日志,之前发过的F12定位web测试前后端bug也是其中一种
Fiddle教程我发现现在多数教程都是如何使用,而聊到如何分析的几乎没有,我没有找到哦,后面开一篇聊聊,共勉!
数据库分析数据,这就需要学习数据库相关知识了
SQL基本语句的学习(增删改查),查询是重点
3、接口测试
学习相关概念
学习Json基本语法
学习常见接口测试工具的使用
如Postman
Postman单口测试
Postman多口业务逻辑测试
Postman断言
4、python基础学习
看书、代码敲起来、练习做起来
菜鸟书籍《笨办法学Python》回复(电子书)获取
注意!这边的电子书是基于python2的
后续我会出python3写的《笨办法学Python2》系列习题答案,可持续关注,也可以直接看《笨办法学Python3》
5、自动化测试
(1)python+selenium基于web的UI自动化学习
(2)python+appium基于APP的UI自动化学习
6、掌握1个或者多个自动测试框架,学习robotframework, python的unittest
7、掌握性能测试技术,学习jmeter
题外话:
现在常见的现象是功能测试工程师想去做自动化测试,他觉得写自动化测试是价值,他能从中学到新的内容。
但是我觉得,你想清楚自己是在哪个阶段上,你想往另一个方面去发展的话,那么你一定需要在另一个方面去做额外的努力。那么这个做努力的过程中,从知识积累的角度来讲,它一定是从深度再到广度。
所有的测试离不开基础理论的支撑,即使是自动化。
我对自己的要求是在工作当中,如果接触到了一个技术,一个项目,一个功能,不轻易放过。不是得过且过,我测了就测了,一定要刨根问底。相信这样,每个接触过的技术都会变得比较深入。随着项目接触的越来越多,做到的事情越来越多之后,你很快就会发现,你有了深度的同时你就有了广度。
个人对自动化学习的要求:
考虑把身边天天碰到的这些重复性劳动,用一个简单的脚本,或者做一个简单的工具去做优化。一方面这是来源于对整个知识体系的理解,想法、思维方式,以及行动。在这个过程中,就体现作为一个测试人员的价值。我相信随着工具越来越多,知识面越来越广后,能做的事情就会更多。
除了学习路线外,其他方面,我们也应该做到以下几点:
一,了解你的需求
不要在不了解需求的情况下开始测试。如果在不了解需求的情况下进行测试,将无法确定程序是否按照设计的方式工作,也无法判断是否缺少所需的功能。所以在开始测试之前,明确需求是任何测试人员都必须要具备的前提。
二,了解你的职业
你应该对你的职业有一个全面的了解。了解自己的职业,能帮助你更好的的去提升自己的专业技能;能为自己找到前进的道路。不要只停止在找到bug ,记录bug,提供解决方案这种事情上。良好的专业知识也将帮助你去设计更好的测试用例,能够更全面的去覆盖你要测试的软件;也能为你提供更好的提升之路。(有关获取专业知识,更好的提升自己,请关注我。)
三,测试中没有假设
不要假设没有错误就开始测试。作为一名测试人员,你应该始终寻找错误。
四,学习新技术
毫无疑问,旧的测试技术在日常测试中仍然起着至关重要的作用,但是要尝试去学习新的测试技术。不要依赖书本知识,要讲求实际,毕竟现实的工作会比书本的知识更加复杂。你学习的新技术可能在你的工作中发挥不可思议的作用。
五,你不能保证一个没有bug的应用程序
不管你执行了多少次测试,都不能保证100%的无bug应用程序。有一些限制因素可能会迫使你的团队将产品提升到下一个级别,同时知道一些常见的或低优先级的问题仍然存在。尝试尽可能多地探索bug,但优先考虑基本和关键的功能。尽你最大的努力做好工作。
六,像终端用户一样思考
这是我最好的建议。不要老想着自己只是技术人员,要像客户或终端用户一样思考。(当然也不能完全站在用户的角度上,你首先要考虑的是公司的利益,然后才是用户)此外,永远要超越你的最终用户,以最终用户身份测试应用程序。想想最终用户将如何使用你的应用程序。技术+终端用户思维将确保你的应用程序对用户是友好的,并将容易通过验收测试。当我还是个新手测试人员时,这是我的测试经理给我的第一个建议。
七,100%的测试覆盖率是不可能的
不要纠缠于100%的测试覆盖率。有数以百万计的输入和测试组合是根本不可能覆盖的。使用边界值分析和等效分区测试等技术将测试用例限制在可管理的大小。
八,与开发人员建立良好关系
作为一名测试人员,你可以与许多其他团队成员,特别是开发人员进行交流。在许多情况下,测试人员和开发人员可能在某些方面意见不一致。在不损害与开发人员良好关系的情况下处理这种情况需要你的交际技能。如果你错了,承认吧。如果你是对的,那就好好沟通一下,别把这当回事。毕竟,这是一个职业,也是经常会出现的事,你们都想要一个好的产品。
九,要学会从错误中吸取教训
作为新手,你会犯错误。如果你不犯错误,那么说明你的测试不够努力!不够认真!当你犯错误之时,你也会从中学到一些东西。用这些错误作为你的学习经验。尽量不要去犯同样的错误。当你在测试完以后,你测试的软件又出现了bug,对软件测试来说,这是一个绝对会存在的局面,是无法避免的。但是不要自责,找出问题所在的根本原因。试着找出你没有发现那个bug的原因,并在将来避免同样的错误。如果有必要,你可以去更改所遵循的一些测试过程。
十,如果你的一些错误没有被修复,不要低估你自己。
一些测试人员认为,他们所记录的所有错误都应该得到修复。这是一个很好的点,在一定程度上,但你必须灵活,根据情况。所有的bug可能被修复,也可能没有被修复。管理可以推迟修复bug,因为一些bug具有低优先级、低严重性或没有时间修复。随着时间的推移,你还会了解到哪些bug可以推迟到下一个版本在修复。
文章来源:网络 版权归原作者所有
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理
相关文章
- 软件架构师是什么玩意儿?
- 他们都没告诉你适配 Android N 需要注意什么
- String,StringBuffer,StringBuilder 的区别是什么
- 什么是基因测序,为什么需要云计算
- CSS中一个冒号和两个冒号有什么区别
- 成为一名JAVA高级工程师你需要学什么
- 什么叫序列化,如何实现序列化以及反序列化(转)
- 从“什么是程序化购买”到“程序化购买+”
- dns流程是什么
- 什么是DataOps?难道DataOps只是面向Data 的Ops吗?
- 什么是前端开发领域中的 time to first byte 指标
- Atitit 如何做数据分析 描述型:发生了什么?可视化仪表盘化很重要。1 2. 诊断型:为什么会发生?结合历史记录1 3. 预测型:可能发生什么?2 4. 指导型 规划未来行动:我需要做什
- 现在自学python,各位大牛有什么好的建议吗?
- 局部变量是线程安全的,原因是什么
- 到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念【科普】
- 《红楼梦》中四大家族到底犯了什么罪,导致了「白茫茫大地真干净」的结局?
- 程序员需要达到什么水平才能顺利拿到 20k 无压力?
- 面试之前你会先在网上了解下这家公司吗?应届生靠什么取胜?
- 干货|一次完整的性能测试,测试人员需要做什么?
- 功能模块提测前,我们还需要做些什么?
- 软件测试基础(一)——对软件测试了解发展规划和什么是软件和软件的特性
- 什么是接口测试?怎么做接口测试?
- 问题解决之-Spring Data开发手册|Java持久化API(JPA)需要了解到什么程度呢?
- 什么是主动元数据?为什么Gartner预测它是元数据管理的新方向
- 深度学习前需要学习机器学习吗?这俩有什么关系?
- 程序员生活_程序员租房需要注意什么
- Win10系统打开什么都是反应比平时慢,转圈等待1分钟如何解决?
- 什么是PHY?
- 什么是BARR-C?