ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

测试 (2) - 认识测试(2):测试和开发的区别 测试具备的素质

测试 (2) - 认识测试(2):测试和开发的区别  测试具备的素质 测试2测试和开发的区别 测试具备的素质文章目录测试2测试和开发的区别 测试具备的素质1. 软件测试和软件开发有什么区别1.1 工作内容开发人员测试人员1.2 难易程度开发岗位要求测试岗位要求总结1.3 薪水及工作环境1.4 调试和测试的区别1.5 高频面试题:star:1. 走测试岗位为什么还要学习开发知识2. 简历上大部分都是开发技能为什么选择测试岗位2. 优秀的测试人员岗位需要具备的素质2.1 综合能力沟通能力快速学习能力开发能力文字能力2.2 掌握自动化测试技术浅识自动化2.3 测试用例的设计能力2.4 探索性思维2.5 兴趣2.6 责任感与抗压能力:star:高频面试题3.总结1. 软件测试和软件开发有什么区别1.1 工作内容开发人员使用 C、C、C#、Java、Python、PHP 等编程语言实现软件功能与业务逻辑。定位、修复代码缺陷BUG保障代码可正常运行。测试人员编写、执行测试用例发现并反馈软件缺陷参与缺陷验收与闭环。借助各类测试工具与方法验证产品质量保障软件稳定、可靠。1.2 难易程度开发岗位要求应届生需掌握编程语言基础、开发框架、数据库、数据结构、Linux 等核心知识。在职人员除基础能力外还需熟练掌握 Redis、RabbitMQ、ES 等各类中间件并能将上述技术实际应用于代码开发与业务实现中。测试岗位要求应届生需掌握编程语言基础、开发框架、数据库、数据结构、Linux 等通用技术同时具备测试核心能力包括测试理论、测试用例设计与执行等。在职人员除基础与测试技能外同样需熟悉 Redis、RabbitMQ、ES 等中间件以支撑复杂场景下的质量保障工作。总结开发岗位技术深度更深、专业度更高聚焦于代码实现与业务开发测试岗位技术覆盖更广、知识面更宽专业深度相对偏弱。但在大型互联网企业中对测试人员的技术与专业要求通常会接近甚至对标开发人员。1.3 薪水及工作环境对于薪水来说应届生这里给出结论开发 测开 功能测试纯测试比开发低 15%–30%。工作环境因为开发和测试人员需要随时交流所以测试人员与开发人员通常在同一办公楼层的不同区域办公因此二者的工作环境与办公设备基本一致。1.4 调试和测试的区别测试人员经常会进行测试动作而开发人员会进行调试动作。调试和测试同一个含义吗答不是具体差别如表格所示维度调试测试目的调试的任务是定位并且解决程序中的问题测试的任务是发现程序中的缺陷参与角色主要由开发人员完成测试主要是由测试人员和开发人员来执行黑盒测试主要由测试人员完成、单元 / 集成测试主要是由开发人员执行执行阶段开发阶段测试贯穿整个软件开发生命周期针对这个表格这里解释两点测试主要是由测试人员和开发人员来执行主要还有其他人对软件进行测试答是的只有是一个项目的人例如产品经理设计人员测试人员等项目组全体成员都需要对产品的质量负责都可以对产品进行测试。测试贯穿整个软件开发生命周期软件测试不是在软件开发好之后才进行测试的。而是从一个软件的需求分析就开始了。这是因为测试人员需要对项目有一个全面的了解了解这个软件产品有什么样的功能在测试的时候才能更好的设计测试用例。软件测试通常被划分为四个主要阶段单元测试、集成测试、系统测试以及验收测试。程序代码的读写权限公司都会有代码仓库对于开发人员对代码仓库有读写代码的权限。但是对于测试人员对代码仓库只有读取代码的权限没有写修改代码的权限1.5 高频面试题⭐️1. 走测试岗位为什么还要学习开发知识回答测试人员也需要编写代码例如自动化测试、性能测试脚本以及开发提升测试效率的工具等。同时测试人员需要具备读懂代码、理解开发框架的能力。简单一句话就是即使是测试岗位也需要具备开发能力比如开发一些测试效率工具提升测试的效率。掌握开发知识能够有效提升软件测试质量。通过分析代码中数据的流转逻辑可以更好地从代码层面发现潜在问题。2. 简历上大部分都是开发技能为什么选择测试岗位这个问题需要讲完 优秀的测试人员岗位需要具备的素质 后再讲。2. 优秀的测试人员岗位需要具备的素质这个部分存在的面试题你觉得自身有什么优势你怎么认为自己可以胜任测试工作相比于其他候选人你觉得自己强在哪里为什么走测试而不是开发…………2.1 综合能力这里的综合能力是对个人的软硬实现的统称。综合能力包括但不限于沟通能力快速学习能力开发能力文字能力沟通能力测试工程师的沟通能力会直接影响工作开展的效率。良好的沟通能力是测试工程师获得更好发展的 “敲门砖”—— 无论是面试还是日常工作都离不开高效沟通。在实际工作中我们测试人员不仅要和开发打交道还要和 产品人员 打交道在需求文档中没有提到的细节需要和产品确认是不是一个 bug还是那样的设计表现是符合预期的。所以沟通能力是很重要的。快速学习能力包括这几点对不同业务需求和功能的快速学习与理解能力​ 未来职场中测试人员难免会经历跳槽而不同公司的业务场景差异较大。因此测试人员必须具备快速学习和理解新业务的能力才能快速融入新环境并高效开展工作。对测试新技术和新方法的学习能力​ 计算机行业发展迅速技术迭代速度快。作为技术人员需要时刻保持对新技术的学习热情与能力不断更新知识体系、提升专业技能才能适应行业发展的需求。对不同编程语言的快速学习能力​ 大多数同学在入职前通常只掌握 1-2 门编程语言例如很多同学掌握 C/C 或 C/Java。但在实际工作中往往需要接触并使用其他语言如 PHP、Go、Python 等因此快速学习新语言的能力至关重要。开发能力测试人员的核心职责不仅是保障项目质量还需要针对业务场景开发各类效率工具以提升测试效率与质量。例如自动化测试框架、性能测试脚本等都属于这类提升效率的工具。文字能力测试人员需要具备扎实的文字表达能力用于编写各类专业文档如测试计划、测试用例、测试报告等。同时文字能力也包含描述bug的能力。描述一个 bug 不是一个简单的事情你描述出来的东西得让开发人员能够听得懂才行。例如提一个bug的时候你要把它的问题预期结果bug复现路径 描述清楚这样开发才能更好的排查问题。2.2 掌握自动化测试技术掌握自动化测试技术是你能够进入中大厂的测试岗位的前提技能自动化测试技术在测试领域中占据着举足轻重的地位。掌握自动化测试技术能够将测试人员从大量重复性的手工劳动中解放出来从而把更多精力投入到更有价值的测试类型中。浅识自动化我们经常听到 “自动化” 这个词它到底是什么呢在日常生活中自动洗手液的出现省去了人们按压瓶子的动作在疫情期间有效降低了交叉感染的风险。在农业生产中自动洒水器的应用让大面积土地也能实现快速、均匀的灌溉。在交通管理中交通信号灯的普及使交通秩序井然大幅减少了拥堵和事故的发生概率。在软件测试领域我们也会接触到多种自动化技术例如接口自动化自动发起接口请求并校验接口返回的属性是否符合预期结果。UI 自动化包括 Web 自动化和移动端自动化能够自动在界面或移动设备上模拟用户操作并检查元素状态和操作结果是否符合预期。2.3 测试用例的设计能力设计测试用例是测试人员工作的基本功必须要会的东西。设计测试用例是 笔记和面试 中必考的题目。测试用例设计能力是指无论面对何种类型的测试都能设计出可高效发现缺陷、保障产品质量的优质测试用例。如何提升测试用例设计能力熟练掌握各类测试用例设计方法研读优秀的测试用例设计案例多写多练持续积累并及时总结那么什么是测试用例如何设计测试用例这篇博客中进行讲解测试(9) - 测试用例篇2.4 探索性思维测试工程师在执行测试过程中会持续学习被测系统并结合自身经验、专业知识与测试直觉对系统进行错误猜测与逻辑推理从而整理、分析出更多有针对性的测试关注点。探索性思维的质量很大程度上取决于测试人员的经验积累。生活中很多场景也需要具备探索性思维比如炒菜时油温高低、火候大小、调味品用量的把控都十分考验厨师的探索性思维。做得好是美味菜肴做得不好则会影响口感甚至无法食用。其实说白了就是 测试经验。2.5 兴趣兴趣是择业的重要因素之一。如果选择岗位后对工作本身缺乏兴趣那么这份职业往往很难走得长远。兴趣和热爱一定是坚持做一件事情的最重要的前提之一。2.6 责任感与抗压能力责任感是任何岗位都不可或缺的职业素养对测试人员尤为重要。测试往往是产品上线前质量的最后一道关卡。由于测试工作的成效难以简单量化测试用例执行情况、Bug 数量等指标都无法直接说明产品质量是否真正达标。尽管在敏捷模式下团队全员都需要对产品质量负责但产品的测试质量仍与测试人员高度相关。因此责任感是测试工程师最重要的必备素质之一。同时测试工作尤其是互联网行业的测试岗位要求从业者具备良好的抗压能力能够从容应对各类工作压力。⭐️高频面试题之前提到的面试题你觉得自身有什么优势你怎么认为自己可以胜任测试工作相比于其他候选人你觉得自己强在哪里为什么走测试而不是开发…………我们就针对第四点进行回答为什么走测试而不是开发回答思路从岗位工作性质分析 个人性格 / 爱好 个人职业规划三个方面阐述。1个人兴趣爱好从性格和兴趣出发测试工作需要测试人员具备良好的耐心、细心接触了测试内容后对测试工作产生浓厚兴趣。2岗位性质不管是测试还是测试开发都统称为测试人员测试人员主要以保障项目测试质量为主通过开发一些测试效率工具比如我们学的自动化就是效能工具除此之外还有我们课件上写的内存泄漏工具等等来提高测试效率。而软件开发主要以业务编码为主。3个人职业规划大学期间就树立了走测试方向的目标今后将继续提高测试和开发能力争取在测试领域做出一番有影响力的事务。其他的问题按照上述模板都可以回答。例如你觉得自身有什么优势你怎么认为自己可以胜任测试工作你都可以这样回答我学过开发对于软件的测试首先能够保证测试质量的下限。其次我的综合能力沟通能力快速学习能力开发能力文字能力没有任何问题。学过自动化测试等等。从自己学过的专业技能还有岗位工作性质分析 个人性格 / 爱好 个人职业规划三个方面阐述。3.总结测试和开发的区别工作内容难以程度薪水及工作环境等测试具备的素质综合能力掌握自动化测试技术测试用例的设计能力兴趣责任感和抗压能力等等常见面试题走测试岗位为什么还要学习开发知识你觉得自身有什么优势你怎么认为自己可以胜任测试工作相比于其他候选人你觉得自己强在哪里为什么走测试而不是开发…………最后如果这篇博客能帮到你的请你点点赞有写错了写的不好的欢迎评论指出谢谢测试知识的下一篇博客测试(3) - 概念篇1-- 什么是需求 软件生命周期
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进