📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
在测试学习过程中,无论是功能测试、环境部署、代码编程、工具使用还是框架搭建,我们都会遇到各种问题。
但遇到困难就立刻求助他人是不可取的。这种做法不仅会透支人际关系,还对个人的学习和记忆毫无益处。毕竟,懒惰的“拿来主义”并不能真正提高效率。
然而,面对问题时,很多人会感到无从下手。那么,应该如何应对呢?我在这里简单总结一下测试中遇到问题时的一些常见排查方法。
确认是否环境问题
在实际测试过程中,很多问题往往源于环境配置。据我观察,大约50%的问题都与环境有关。
案例一:
例如,有些同学在启动WAMP时发现MySQL无法启动,便认为是软件本身的问题。
但经过排查,可能是因为本地已有一个MySQL服务占用了3306端口,导致启动失败。
案例二:
再比如,使用LoadRunner录制脚本时无法弹出IE浏览器,这可能涉及操作系统版本、LoadRunner版本、浏览器版本及浏览器设置等多种环境因素。
我知道很多人对这些环境问题不太熟悉,排查起来有困难。
这里给大家一个简单的判断方法:当遇到工具安装或基础使用问题,而同样的工具在别人那里能正常运行,只有你不行时,大概率是环境问题。
此时,建议先从环境配置入手,仔细排查相关设置。
错误日志的作用
在与业内人员的交流中,我发现一个普遍现象:80%以上的测试人员忽视了日志的重要性。
很多人认为测试人员只需发现问题,然后交给开发人员解决,这种想法其实很片面。日志的作用不容小觑。
从两个角度来分析:
首先,即便测试人员不负责修复问题,理解日志内容并定位问题发生的位置和原因也极为重要。
在中小型公司,测试工作往往仅限于“测”,而在一线互联网公司,测试人员的职责更为广泛,不仅需要发现问题,还要定位问题并提供解决方案。
通过分析日志,可以明确问题是由于环境、数据、上下游系统还是系统本身的缺陷,从而避免提出无效问题。
例如,当系统出现异常且难以排查时,日志中可能会提供关键线索。
好的,这段内容可以改写如下:
首先,这些错误信息是前端无法直接看到的。
通过查看日志,我们能够明确问题根源:原来是后端分库分表算法计算出现了异常。
有了这个线索,我们既可以深入分析算法问题,也可以直接向开发团队反馈算法存在的问题。
这样一来,不仅能减少开发人员排查问题的时间和工作量,还能赢得他们的尊重。
换个角度说,测试人员在工作中也会遇到各种问题,比如代码问题或工具问题。
以Selenium执行报错或LoadRunner录制报错为例,这种情况下直接找开发人员帮忙显然不太合适,我们首先应该自己尝试解决问题。
比如在执行Selenium脚本时,可能会遇到如下错误:
当我们遇到类似“element not visible”这样的错误时,有经验的测试人员会迅速抓住核心关键字。
这种错误通常有两种可能原因:一是元素定位标识不唯一,二是元素被其他元素遮挡。
接下来,我们需要分别排查这两种可能性,这就是分析问题的过程。而日志分析在这个过程中起着至关重要的作用。
同样地,像Jmeter和LoadRunner这样的商用工具也有自己的错误提示。这些提示信息同样可以帮助我们快速定位和分析问题。
善用搜索引擎
其实,善用搜索引擎是前面提到的独立解决问题的延伸。我发现很多人其实并没有掌握正确的搜索技巧。
曾经有测试圈的资深专家提到,现在绝大多数人不会用搜索引擎,我深有同感。
可能很多人会觉得不服气,但我发现很多学员的问题其实都是因为“不会搜索”导致的。
举个例子,最近有个同学问我怎么找随机生成手机号的代码,但他怎么搜都搜不到。
我好奇地问他具体是怎么搜索的,他说他搜的是“随机手机号”,结果出来一堆生成器,却没有可用的代码。
我告诉他,试着在前面加上“Java”,结果很快就找到了。这个例子虽然小,但却反映出很多人在使用搜索引擎时的最大问题:不会找关键词。
01 搜索关键词要精简
很多人喜欢直接在搜索引擎里输入“如何……”“怎么办……”“怎么才能……呢”这样的问题,虽然搜索引擎会过滤掉一些语气词并返回结果,但精简关键词无疑是提高搜索效率的最好方法。
具体方法很简单:把你想问的问题写下来,去掉其中的形容词和疑问词,只留下核心名词,必要时可以加上一些修饰词。
比如,你想搜索“哪个自动化测试工具最好用”,可以直接搜索“自动化测试好用”。
02 补充关键信息
与关键词过于冗长相对的是信息缺失。
比如前面提到的“随机手机号”,就属于信息不完整。在搜索时,一定要明确自己的需求。
如果要搜索某个算法,一定要加上语言或“算法”等关键词,比如“Java XXX”“XXX 算法”或“XXX 代码”,这样搜索结果会更准确。
03 筛除杂质信息
很多人直接把日志中的错误信息或控制台报错内容复制到搜索引擎中,却发现搜不到结果。
这是因为在搜索前需要先筛选掉报错信息中的杂质,只保留最核心的部分。什么是杂质?
比如我们特有的类名、变量名、参数值以及报错信息中的中文内容等,这些都可能干扰搜索结果。
在处理这种报错时,需要先筛除无关信息,比如 IP 地址等。
更合适的搜索内容应该是:“No connection could be made because the target machine actively refused it”。
这样能更精准地定位问题,获得更有效的解决方案。
04 专业精准
在搜索专业领域内容时,关键词越宽泛,结果越多但越浅;关键词越专业精准,结果越少但越精。
比如要测试大数据模型,直接搜索“大数据测试”,结果会很宽泛。但如果明确模型类型,搜索“Hadoop测试”或“MapReduce验证”,就能得到更精准的信息。
除了关键词问题,搜索时还可以尝试不同的搜索引擎。
俗话说“兼听则明,偏信则暗”,Google和百度各有优势:Google更易搜到国外论坛的解决方案,百度则对国内的知乎、51Testing、简书等论坛权重更高。
搜索结果固然有用,但也不能全盘接受。老话说得好,“择其善者而从之,其不善者而改之”,这话放在搜索结果上再合适不过。
找到解决方案后,关键是要判断它是否真的适用,还得亲自尝试验证。在网上找东西,就像在“淘宝”,既要火眼金睛,又要和海量信息斗智斗勇。
我这里给大家推荐一些我觉得比较靠谱的搜索网站,仅供参考:
国外论坛
-
Stack Overflow:全球最大的技术问答社区,几乎涵盖了所有编程和技术问题。
-
Reddit:一个以社区驱动的内容分享平台,用户可以在这里讨论各种话题,包括技术问题。
-
CodeProject:一个专注于软件开发的社区,提供大量的代码示例和开发经验分享。
-
Bytes:一个技术论坛,用户可以在这里交流编程问题和技术解决方案。
国内网站
-
51Testing:国内最大的技术论坛之一,有大量的技术文章和问答。
-
简书:一个创作社区,也有不少技术相关的文章和分享。
-
知乎:一个知识分享平台,用户可以在这里提问和回答各种问题,包括技术难题。
这些网站排名不分先后。如果在搜索问题时看到了上述网站的结果,可以优先点开看看。需要注意的是,部分国外网站可能需要翻墙才能访问,这里就不展开讨论了。
其实,工作中遇到的80%的测试问题,很可能已经被别人遇到并解决了。
通过搜索,我们可以解决其中的大部分,剩下的20%才是需要深入研究的部分。世上无难事,只要会搜索。
寻求帮助
如果经过分析、查找和尝试后,问题仍然没有解决,那么就有必要向他人求助了。
求助的过程其实就是提问的过程,关于如何提问,我有很多话想跟大家分享,所以会在下一节详细聊聊“提问的艺术”。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

7968

被折叠的 条评论
为什么被折叠?



