精华内容
下载资源
问答
  • 程序员到底要不要转行软件测试

    千次阅读 2018-04-01 16:25:35
    最近碰到一些程序员想转行测试的小伙伴。其实这个现象一直存在,各行各业...在这篇文章里我不去建议程序员到底应不应该转测试,我只把我了解的测试行业、测试人员的现状说出来,让想转行的程序们对测试有个大概的...

    最近碰到一些做程序员想转行测试的小伙伴。

    程序员到底要不要转行软件测试?

    其实这个现象一直存在,各行各业转行的例子不在少数,厨师都有可能转行做程序员,那程序员转行做测试也没什么大不了的。

    更何况程序员转行做测试比其他人多多少少会有一些优势。

    既然有想转行测试总归是有自己的理由,但不管什么原因,这都是自己的选择。

    在这篇文章里我不去建议程序员到底应不应该转测试,我只把我了解的测试行业、测试人员的现状说出来,让想转行的程序们对测试有个大概的了解,也希望能让这些迷茫的程序员们能好好考虑一下转行的优劣。

    最好的不一定适合自己,但适合自己的一定是最好的。

    程序员到底要不要转行软件测试?

    软件测试的定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

    这也是我们熟知的测试人员“找bug”的工作职责。其实想真正了解软件测试还是要去看它的发展历程,在软件测试的早期,通常是开发人员把测试等同于“调试”。

    后面软件和IT行业迅猛发展,软件测试也越来越受重视,软件测试工程师也就应运而生。这里大家可以去看《软件测试》—佩腾《软件测试的艺术》—梅耶,这两本是非常好的入门书籍。网上也有pdf版本的电子书。

    上面是关于软件测试的基础理论知识,花点时间都是可以掌握的。

    在市场和公司对软件质量重要性的认识逐渐加强的今天,尽管软件测试在软件项目实施过程中的重要性日益突出,但是还是有很多人对软件测试的认识存在误区。

    误区之一:软件开发完成后进行软件测试

    软件测试贯穿于软件项目的整个生命过程。在软件项目的每一个阶段都要进行不同目的和内容的测试活动,以保证各个阶段的正确性。

    误区之二:软件发布后如果发现质量问题,那是软件测试人员的错

    软件中的错误可能来自软件项目中的各个过程,软件测试只能确认软件存在错误,不能保证软件没有错误,因为从根本上讲,软件测试不可能发现全部的错误。

    误区之三:软件测试要求不高,随便找个人做都行

    软件测试包括测试技术和管理两个方面,完全掌握这两个方面的内容,需要很多测试实践经验和不断学习的精神。

    误区之四:软件测试是测试人员的事情,与程序员无关

    开发和测试是相辅相成的过程,需要软件测试人员、程序员和系统分析师等保持密切的联系,需要更多的交流和协调,以便提高测试效率。

    误区之五:项目进度吃紧时少做些测试,时间富裕时多做测试

    这是不重视软件测试的表现,也是软件项目过程管理混乱的表现,必然会降低软件测试的质量。

    误区之六:软件测试是没有前途的工作,只有程序员才是软件高手

    软件测试将会成为一个具有很大发展前景的行业,软件测试大有前途,市场需要更多具有丰富测试技术和管理经验的测试人员,他们同样是软件专家。

    软件测试行业的薪资水平?

    目前来说,功能测试的测试岗位已经饱和了,也是软件测试行业薪资最低的岗位

    程序员到底要不要转行软件测试?

    自动化测试是现在比较火的测试岗位,薪资非常可观

    程序员到底要不要转行软件测试?

    不管是后面的接口测试、自动化测试还是性能测试,都需要非常扎实的功能测试基础知识,而且学习都是逐渐深入的,没人能一口吃成一个大胖子。

    软件测试行业是否比程序员更轻松?

    从某种程度上来说,测试工作可能会比开发工作轻松,但我觉得这是一个人到底适合做开发还是测试的问题。如果都不适合,那肯定做什么都累。

    其次你真的理解测试是贯穿于整个软件项目的生命流程的话,也许就没有这种想法了。从测试从业人数的性别比例来看的话,测试比起开发确实是适合女孩子一些。

    软件测试行业找工作比程序员找工作简单?

    在IT行业找工作难易程度永远是和你自己本身的技术知识联系在一起的。其次再是简历的编写能力,一份好的简历往往能帮你吸引到面试官的目光,从而增加面试的机会。

    测试要学的知识比开发要少,比开发更简单?

    可以参考我写的这篇文章https://www.toutiao.com/i6536440885725364750/

    当然也可以把文章中提到的技术作为一个长期目标慢慢把自己缺少的部分填上。

    不管是测试还是开发都不是很轻松就能做好的工作。

    进入软件测试行业是否要参加系统的软件测试培训?

    存在即合理,培训机构是有其价值的。有些人对培训嗤之以鼻可能是真被坑过也可能只是盲目跟风。至于能不能学到东西还是看自己个人。

    如果培训费用扛得住,不需要通过贷款的方式学习,可以考虑。

    结语

    以上是我个人的一些经验,希望能帮助到大家。

    如果还有什么其他的问题,欢迎加我的软件测试交流群680748947,我会一一为大家解答。

    展开全文
  • 乔布斯曾经说过「每个人都应该学习编程,因为它会教你如何思考」,看,乔帮主都觉得所有人都应该学编程,那你说做测试要不要学?当然要。 作为测试人员,除了上面这个原因,我觉得如果会编程,还有下面 3 个好处。...

    乔布斯曾经说过「每个人都应该学习编程,因为它会教你如何思考」,看,乔帮主都觉得所有人都应该学编程,那你说做测试的要不要学?当然要。

    作为测试人员,除了上面这个原因,我觉得如果会编程,还有下面 3 个好处。

    1、知道技术实现,可以设计更有针对性的用例

    比如我在《需求评审之实战演练》中提到的关于计算器的测试,有些人会写一条用例是「测试一个超大的数」。

    但是问到多大数算大?100000 算不算?很多人回答不上来。

    也就是说,很多人知道需要测试边界值的情况,但是没人知道这个边界值到底是多少。

    当然也不是所有人都不知道。

    比如有人说,是 int 类型的最大值,得,能说出来这个就已经很靠谱了,试想下,如果你不会编程,你能知道什么是 int 类型?你能知道用 int 的最大值去做针对性测试?

    2、更容易和开发进行逻辑层的沟通,更好的拓展测试思路。

    比如一个同学发现一个 bug:
    如果在 windows 的系统盘根目录丢一个 program.exe 的文件,某些程序在执行进程创建时,就会出错,把 program.exe 执行起来了。

    于是这个同学就去找开发沟通。

    第一个同学的沟通过程是这样的:
    测试:「xgg,这个问题是什么原因导致的?」
    开发:「目标进程路径带有空格,我代码中没有加引号,所以就出问题了。」
    测试:「噢,好滴。」

    另一个同学觉得还是有疑问,于是再次找到开发。
    测试:「xgg,具体是哪个实现的问题?是我们内部的函数实现?还是调用的系统 API 有问题?」
    开发:「我用的 CreateProcess API,他的第二个参数如果带有空格,又没有加引号,就会出这个问题。」
    测试:「CreateProcess API 使用的地方很多,能否搜一下看看每个地方本次都做了修改?」
    开发:「好,马上看。」
    测试:「同样功能的 CreateProcessAsUser、CreateProcessWithLogon、CreateProcessWithToken 应该有类似的问题,可以一起搜一下看看都处理了没有。」
    开发:「好,立刻看。」

    如果你是开发,你喜欢和哪一位测试配合?

    如果你是测试,你希望自己前面那位同学还是后面这位?

    3、更好的自动化思维,把提效落实到实处。

    现在很多功能,都会在逻辑中加一些日志,如果是调试版文件,日志输出就更多了,对于客户端产品来说,很多日志输出在 dbgview 里,我们可以通过一些过滤条件进行过滤,甚至设置高亮,但如果是输出的纯本地的文本日志,那么每次查看日志就必须要 Ctrl+F 然后输入关键字逐个去确认了。

    我们看看手工操作的步骤:
    第一步:找到日志文件并打开;
    第二步:Ctrl+F 调起搜索框并输入关键字;
    第三步:回车-检查-回车-检查,如此反复;

    这时候如果有一个同学,会一些简单的脚本技术,可能会考虑对这个过程做一个优化,比如提供一个工具,只需要在工具中输入关键字,工具就会自动找到日志文件,并把所有关键字相关的记录都提取出来,会不会爽很多?

    我们看看使用这个工具的操作步骤:
    第一步:打开工具并输入关键字(工具自己查找日志路径,并且在每次操作时都保证获取的是最新的日志);
    第二步:检查结果(结果中全都是相关性内容);

    看起来只是节省了一步吧,但是工具这两步操作中,都隐含了大量的重复操作的优化。

    比如第一步「打开工具并输入关键字」,其实工具是自己查找日志路径,并且在每次操作时都保证获取最新的日志,这样就避免了手工操作时每次都要重新打开日志的麻烦。

    比如第二步「检查结果」,之前是在所有日志里面去一个个检查搜索结果,现在工具出的结果是只显示和关键字相关的上下文信息,可以极大地减少其他信息干扰,更快更准地找到自己需要的信息。

    如果你不会编程,你会考虑用这个简单的工具去提效?

    就算你考虑到能用工具提效,你能快速准确的把自己的需求提出来并找到人帮忙实现?

    就算实现了,碰到一些小的体验问题你能总是不断找人帮忙优化?

    最后再总结下我的结论。

    做测试要不要学编程?我的答案是,要,会编程的测试可以往业务线的测试开发方向努力。

    我不会编程能不能做测试?我的答案是,能,不会编程的测试可以继续在业务专家方向深耕。

    以上,你会编程不?目前什么水平?自己团队小伙伴的编程技术都什么水平?你认为做测试到底要不要学编程呢?欢迎留言和我讨论。

    当然,如果你支持我上面的观点,请点个「在看」让更多人来一起看。

    本文首发于公众号「sylan215」,十年测试老司机的原创干货,关注我,一起涨姿势!

    sylan215

    展开全文
  • 软件测试工程师到底要不要刷leetcode

    千次阅读 2020-02-21 11:40:41
    那么很多测试工程师第一时间会想:这个网站是给那些开发童鞋的,我们测试用不到。而开发的童鞋也会想:这个网站是给那些算法同学的,我随便看看就行。仿佛大家都对算法题有一种天生的讨厌。 是的,无数次面试中...

    谈起leetcode,可能大家都比较熟悉了。这是近几年爆款的一个刷题网站。当然更多的感受是脑瓜子嗡的一声~
    在这里插入图片描述
    上面题的难度可是给过作者撕心裂肺的感受的。

    那么很多测试工程师第一时间会想:这个网站是给那些开发童鞋做的,我们测试用不到。而开发的童鞋也会想:这个网站是给那些算法同学做的,我随便看看就行。仿佛大家都对算法题有一种天生的讨厌。

    是的,无数次面试中败给了算法的事相信都有体验过吧。尤其是你到bat和头条等大厂面试时的感受,甚至从一面开始,就开始疯狂让你白纸黑字的写算法题了,有些同学甚至感受到了歧视和恶意的刁难,转身离去。

    但是更多的人会选择挑战一下,万一做上了呢?万一做不上也不影响offer呢?然后抱着侥幸的心态被虐的体无完肤~

    在这种局势下,就出现了刷题网站-leetcode

    那么虽然很多测试和测开同学,在面试中确实都遇到了算法题,先别管能不能做上,要来说说到底日常工作中能不能用得上呢?

    我认为:大部分情况下用不上,就算是测开同学,大部分的时间也只是在写增删改查。比较注意和难度的地方是设计,解决方案,和架构。算法只有在遇到了一个很小范围的计算功能时,才偶尔会遇到。但顶多也就是数组/字符串的来回转化,正则提取,这些了。

    像面试中的算法题,如:递归,二叉树,动态规划,链表,等根本用不到。

    比如面试题的:让你把一个3*3的二维数组原地反转90度,不允许开辟额外空间。大家很难在日常工作中想到这个题的应用场景吧?

    所以leetcode,顶多刷一刷字符串/数组的简单难度即可,其他的东西知道有就行了。

    笔者前几年确实抱着这个心态,直到最近一年,测开的工作中,不断遇到超高难度的工具任务,不断的绞尽脑汁解决问题,到今天,蓦然回首,才发现,那些看似用不到的中/高等难度的算法题,和递归,二叉树,链表啥的,或多或少都用到了。

    比如:接口返回值的深度完全断言;接口的自动生成各字段的异常值自动化用例;接口测试平台的多参数录入和不同格式请求体的互相转化;自动生成判定表/正交/因果图/状态迁移 用例的算法;自动维护ui自动化元素改变的wqrfnium;解析公司的接口文档自动录入;在线抓包mock工具;等等 里面的算法难度不会低于leetcode中等题。

    所以我认为,测试这条路,越往后算法题要求可能越高。大家根据自己的职位适度选择即可。

    ps:leetcode的6000积分体恤,可是在面试中会加分的哦~
    
    6000积分什么概念?你就算在全国算法竞赛得了第一名,也才5000积分而已。
    

    在这里插入图片描述
    leetcode刷题基本不涨积分或者非常非常少量。可能你要刷一千道题以上才可以攒够哦~

    最后,贴一个招聘测开的邮件里要求leetcode水平的jd。具体公司不透露了。是作者三年前收到的面试邮件:
    在这里插入图片描述

    展开全文
  • 软件测试一年有感

    2016-07-25 22:37:00
    从事软件测试一年多了,也该好好总结下自己的过去一年的收获了,顺便仔细思考并调整下自己的职业规划。 草稿:健康最重要,眼睛身体。干测试遭遇的问题,学不到东西,...到底要不要转行?未来的发展方向是哪方面?...

    从事软件测试一年多了,也该好好总结下自己的过去一年的收获了,顺便仔细思考并调整下自己的职业规划。
    草稿:健康最重要,眼睛身体。干测试遭遇的问题,学不到东西,浪费时间。对测试的理解,从写用例到定义产品。从tester到QA。测试的发展方向,功能测试前移,场景测试,性能测试,可靠性测试。自动化测试是什么?有接口才能去做自动化测试。到底要不要转行?未来的发展方向是哪方面?

    =======续2016.9.14==============
    1、我现在对软件测试行业与工作的理解是什么?
    软件测试是一个比较抽象的概念,它企图涵盖所有对软件的质量把关行为,但实际上软件测试正如同其他职业一般又细分成很多领域。根据我所从事和了解的,软件测试又杂分为(也就是说这些分类可能交互包含):gui测试,前端测试,web测试,数据库测试,服务器测试,功能测试,性能测试,安全测试,稳定性测试,可靠性测试,压力测试,自动化测试,场景测试。
    2、软件测试都干些什么,每天的工作都是什么?
    没有出版本的时候搞用例,出了版本后搞版本,基本上就是这个套路。
    功能验证,提问题单,跟踪问题,回归,执行用例,用例自动化,【测试方案,测试报告】。寻找接口人,找对了人问题就迎刃而解,找不到人那就只能你自己来抗。
    3、做软件测试需要哪些知识?
    软件测试需要的知识很难说,这个东西更抽象,它与软件业务相关,比如说是通信业务,那么你就得懂网络相关,比如说证券交易业务,那么你就得懂金融,比如说是服务器,那么你就得懂操作系统,不过大部分人都是在工作中学习到的,我觉得基本要求是英文能够读懂就行了。
    4、做测试遇到的问题
    做测试工作的学习效率是没有开发工作的学习效率高,如何解释这句话?就是,同一个项目结束了,在付出同等劳动下,开发在这个项目中的成长是90,那么测试的成长可能只有70甚至更低。不得不承认,测试确实有很多工作是重复的,对于软件来说不是徒劳的,正是这些重复的测试确保了软件的质量,但是对人来说确实是徒劳的。
    5、测试的发展方向?未来路在何方?
    再草稿:专业化,编程能力,最后身体才是本钱

    转载于:https://www.cnblogs.com/lineuman/p/6776014.html

    展开全文
  • 软件测试理论与经验--阅读笔记

    千次阅读 2016-06-23 10:34:56
    经验2-测试员的使命决定要做的一切使命可能决定于行业、公司、项目或者团队的个性,测试项目也是千差万别。我们的使命是以客户为中心,明确需求,提高工作效率及降低风险。经常动态调整自己的使命,不要侧重某一...
  • 作为程序员,在开发岗位上了几年,特别是到了30岁,这个而立之年,我们会来到一个重要的人生岔路口。...这个选择是程序员人生中第一个大的选择,也是第一个障碍,倒不是说这个障碍是到底要不要...
  • 一旦踏入这个行业, 首先心里明确一个职业规划,对自己有一个非常清楚的定位,到底适合做测试还是开发还是其它和软件行业挂钩的职位,这个问题想清楚了。对你以后的职业发展起到重要的作用,其次,还是有一个...
  • 所有多余的配置自行删除,xml文件中不要有注释,没对注释处理。 25、加入开机自启动选择项,保存到注册表中,加入了默认以管理员身份运行,解决配置文件不在system32下,开机启动找不到配置文件的问题。 26、...
  • 后来又重新了几次实验确实能够解密,但是我这里没有CN的其他型号,大家测试一下把测试的解过发送上来,也好让大家看看到底能破解到什么级别! 那么现在基本可以确定PPI协议所能破解的西门子S7-200PLC的范围:02.00...
  • 网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的...
  • 前两篇文章链接如下,没看过的可以尽快回顾下:《做软件测试到底要不要学编程?》《技术导向下的业务测试何去何从?》我理解办不到的原因,因为我全部都亲身感受过,现在我把最突出的几个困境汇总了一下,我们来分别...
  • 做软件测试到底要不要学编程?》 《技术导向下的业务测试何去何从?》 我理解办不到的原因,因为我全部都亲身感受过,现在我把最突出的几个困境汇总了一下,我们来分别聊一聊。 困境一:一学就会,一写就懵。 学过...
  • 第4章 交付用户想软件 10. 让客户决定 11. 让设计指导而不是操纵开发 12. 合理地使用技术 13. 保持可以发布 14. 提早集成,频繁集成 15. 提早实现自动化部署 16. 使用演示获得频繁反馈 17. 使用短迭代,增量...
  • 课程方面除了基本的入门技术外,重构、面向对象设计、单元测试、领域驱动设计、敏捷开发管理都讲授。 还有就是老师的问题。现在培训学校的老师很多不合格。不是水平不够就是技术陈旧。需要充电更新。...
  • 2.2 误区2:做软件开发必须加班熬夜的工作 30 2.2.1 程序员们熬夜工作的借口 30 2.2.2 常态加班的危害 31 2.2.3 控制好工作的一日时间表才是关键 32 2.2.4 "偏执与狂热"不等于加班加点 33 2.2.5 程序员的...
  • 软件已经经过国外国内很多网友测试,好评如潮!因此建议使用PPPoE拨号的朋友人手一份。cFos和传统网络优化软件不同,这款德国软件并不是简单的调整注册表一些键值,而是有自己独特的网络驱动。通过优化的TCP ACK排序...
  • c语言编写单片机技巧

    2009-04-19 12:15:17
    为了保证IC生产的长期且稳定品质,还会产品的可靠性测试,这些测试包括ESD测试,LATCH UP测试,温度循环测试,高温贮存测试,湿度贮存测试等。 成测则是产品封装好后的测试,即PACKAGE测试。即是所有通过...
  • 听和说是最难的,对一个单词熟悉到一定程序你才能会不费力的听出这个单词是什么,更不要提英语的对话了,大家很少说英语,说英语最难的就是词法间的关系。词法间的关系也是千变万化,如何在课本里边得到这些知识?...
  • JAVA自学之路

    2012-09-21 20:39:46
    经常的进行知识难点的查询,如果一个问题牵扯的面比较广,就干脆到网上搜索一些相关的专题,比如“java 乱码 mysql” “oracle 创建用户”等等,如果有必要,不要犯懒,勤动手写一些小小的测试程序,来弄明白知识点...
  • 本书第1章强调不要把数据库当成一个黑盒,讨论了开发人员必须了解的数据库的基本特性和功能。第2章提供了一个创建Oracle数据库的绝好例子,从中你将深入地了解数据库和实例的概念。第3章介绍了各种类型的文件,特别...
  •  不管成功失败,单击“弹出”,等待“测试报告”中显示“弹出成功”,按结束,关闭量产工具软件。重新拔插U盘。  正常情况下,插入U盘,操作系统会自动安装光盘驱动器和可移动磁盘驱动。如果你的系统没有关闭...
  • 想学习和掌握它的诸多新特性,只能从Oracle手册入手,而数万页的11g手册不免让人心存畏惧,从中挑出对新特性的描述更需要一双“火眼金睛”。  好消息!在本书第1版出版时隔4年后,Thomas Kyte及时了解了大家的这...
  • 反正也是让相邻元素间留有足够余地,那干脆所有元素都不要考虑相邻位置了,哪有空位就到哪里。而只是让每个元素知道它下一个元素的位置在哪里。 3.6.1顺序存储结构不足的解决 办法 55 3.6.2线性表链式存储结构定义...
  • 希望我们的未来不要仅仅是钢筋水泥建造的高楼,也有那郁郁葱葱的森林和草地,我们人类才可能与自然和谐共处。 第7章图 211 7.1开场白 212 如果你不善于规划,很有可能就会出现如玩好新疆后到海南,然后再冲向...
  • 大话数据结构

    2019-01-10 16:35:22
    希望我们的未来不要仅仅是钢筋水泥建造的高楼,也有那郁郁葱葱的森林和草地,我们人类才可能与自然和谐共处。 第7章图 211 7.1开场白 212 如果你不善于规划,很有可能就会出现如玩好新疆后到海南,然后再冲向...
  • 大话数据结构 程杰

    2018-09-01 10:06:43
    希望我们的未来不要仅仅是钢筋水泥建造的高楼,也有那郁郁葱葱的森林和草地,我们人类才可能与自然和谐共处。 第7章图 211 7.1开场白 212 如果你不善于规划,很有可能就会出现如玩好新疆后到海南,然后再冲向...
  • 3.5.1 获得元素操作 50 3.5.2 插入操作 51 3.5.3 删除操作 52 3.5.4 线性表顺序存储结构的优缺点 54 3.6 线性表的链式存储结构 55 反正也是让相邻元素间留有足够余地,那干脆所有元素都不要考虑相邻位置了,哪有...
  • 大话数据结构-程杰

    2014-07-13 23:45:52
    希望我们的未来不要仅仅是钢筋水泥建造的高楼,也有那郁郁葱葱的森林和草地,我们人类才可能与自然和谐共处。 第7章 图 211 7.1 开场白 212 如果你不善于规划,很有可能就会出现如玩好新疆后到海南,然后再冲向...

空空如也

空空如也

1 2
收藏数 37
精华内容 14
关键字:

到底要不要做软件测试