感觉收集面试题是快速了解一个领域的方法之一。
去年整理的一些关于测试工程师面试的问答,
分享出来希望对阅读这篇博客的人有一定帮助。
文章目录
- 面试题
- 问:一个测试工程师应具备哪些素质?
- 问:发现了一个 bug,但是开发经理不认同,怎么办?
- 问:试述软件的概念和特点?
- 问:软件复用的含义?构件包括哪些?
- 问:软件生存周期及其模型是什么?
- 问:软件测试的定义
- 问:软件测试的目的
- 问:软件测试的原则
- 问:软件测试的流程
- 问:软件配置管理的作用?软件配置包括什么?
- 问:什么是软件质量?
- 问:目前主要的测试用例设计方法是什么?
- 问:软件的安全性应从哪几个方面 去测试?
- 问:什么是测试用例,什么是测试脚本,两者的关系是什么?
- 问:简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试 β测试
- 问:软件产品质量特性是什么? ?
- 问:软件测试的策略是什么?
- 问:软件测试分为几个阶段,各阶段的测试策略和要求是什么?
- 问:在软件测试各个阶段通常完成什么工作?各个阶段的结果文件是什么?包括什么内容?
- 问:测试人员在软件开发过程中的任务是什么?
- 问:一条软件缺陷记录都包含了哪些内容?如何提交高质量的软件缺陷记录?
- 问:黑盒测试优缺点
- 问:白盒测试优缺点
- 问:如何测试一个 纸杯?
- 问:测试计划工作的目的是什么?测试计划文档的内容应该包括什么?其中哪些是最重要的?
- 问:黑盒测试的测试用例常见设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
- 问: 详细的描述一个测试活动完整的过程。
- 问:与开发人员的沟通
- 问:你对测试最大的兴趣在哪里?为什么?
- 问:你自认为测试的优势在哪里?
- 问:集成测试通常都有那些策略?
- 问:TCP/IP 协议
- 问:说说你对集成测试中自顶向下集成和自底向上集成两个策略的理解,要谈出它们各自的优缺点和主要适应于哪种类型测试
- 问: 设计测试用例时应该考虑哪些方面,即不同的测试用例针对那些方面进行测试?
- 问:软件测试项目从什么时候开始,为什么?
- 问:什么是白盒测试?什么是黑盒测试?? 什么是回归测试?
- 问:单元测试、集成测试、系统测试的侧重点是什么?
- 问:设计用例的方法:
- 问:集成测试通常都有那些策略?
- 问:你所了解的的软件测试类型都有哪些,简单介绍一下。
- 问:给你一个网站,你如何测试?
- 知识技能
面试题
问:一个测试工程师应具备哪些素质?
1、责任心
2、沟通能力
3、团队合作精神
4、耐心、细心、信心
5、时时保持怀疑态度,并且有缺陷预防的意识
6、具备一定的编程经验### 问:测试的八个原则?
- 所有测试的标准都是建立在用户需求之上
- 始终保持“质量第一”的觉悟,当时间和质量冲突时,时间要服从质量
- 需求阶段应定义清楚产品的质量标准
- 软件项目一启动,软件测试就已经开始,而不是等程序写完,才开始进行测试
- 第三方进行测试会更客观,更有效
- 软件测试计划是做好软件测试工作的前提
- 测试用例是设计出来的,不是写出来的
- 对发现错误较多的程序段,应进行更深入的测试
问:发现了一个 bug,但是开发经理不认同,怎么办?
你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决?
1、将问题提交到缺陷管理库里面进行备案。
2、要获取判断的依据和标准:
根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;
如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;
根据用户的一般使用习惯,来确认是否是缺陷;
3、与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;
4、合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。
等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。
问:试述软件的概念和特点?
软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、文档的完整集合。
问:软件复用的含义?构件包括哪些?
软件复用(Software Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。
可以被复用的软件成分一般称作可复用构件
问:软件生存周期及其模型是什么?
软件生存周期:软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。
Life Cycle Model:在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。这样的一个过程,称为"生命周期模型"(Life Cycle Model)。
问:软件测试的定义
使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
问:软件测试的目的
软件测试是为了发现错误而执行程序的过程。
测试是为了证明程序有错,而不是证明程序无错。(发现错误不是唯一目的)
好的测试用例:发现至今未发现的错误。
一个成功的测试:发现了至今未发现的错误。
问:软件测试的原则
- 应当把“尽早地不断地进行软件测试“作为软件开发者的座右铭。
- 测试用例应由测试数据和与之对应的预期输出结果这两部分组成。
- 程序员应避免检查自己的程序。
- 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件
- 充分注意测试中的群集现象。
- 严格执行测试计划,排除测试的随意性。
- 应当对每一个测试结果做全面的检查。
- 妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。
教材的说法:
软件测试应尽早执行,并贯穿于整个软件生命周期
软件测试应追溯需求
测试应由第三方来构造
穷举测试是不可能的,要遵循 Good-enough 原则
必须确定预期输出(或结果)
必须彻底检查每个测试结果
充分注意测试中的群集现象
缺陷的二八定理
严格执行测试计划,排除测试的随意性
注意合法合理的输入,也要注意非法的非预期的输入
检查程序是否做了不该做的
测试应从“小规模”开始,逐步转向“大规模”
反复使用同样的测试会使软件具有抵抗力
关注缺陷的修复
问:软件测试的流程
立项阶段-需求阶段----设计阶段----编码和单元测试阶段----集成测试阶段----系统测试阶段-----验收测试阶段-----结项总结阶段
问:软件配置管理的作用?软件配置包括什么?
软件配置管理作为软件开发过程的必要环节和软件开发管理的基础,贯穿整个软件生命周期,同时对软件开发过程的宏观管理即项目管理也有重要的支持作用。一个软件开发组织真正有效的实施软件配置管理,将会使软件开发过程有更好的可预测性,使系统具有可重复性,大大提高软件组织的竞争力。
软件配置包括如下内容:
- 配置项识别
- 工作空间管理
- 版本控制
- 变更控制
- 状态报告
- 配置审计
问:什么是软件质量?
软件质量:软件产品的特性可以满足用户的功能、性能需求的能力。
问:目前主要的测试用例设计方法是什么?
白盒测试:
- 逻辑覆盖
- 循环覆盖
- 基本路径覆盖
黑盒测试:
- 边界值分析法
- 等价类划分
- 错误猜测法
- 因果图法
- 状态图法
- 测试大纲法
- 随机测试场景法
问:软件的安全性应从哪几个方面 去测试?
软件安全性测试包括程序、数据库安全性测试。根据系统安全指标不同测试策略也不同。
用户认证安全的测试要考虑问题:
- 明确区分系统中不同用户权限
- 系统中会不会出现用户冲突
- 系统会不会因用户的权限的改变造成混乱
- 用户登陆密码是否是可见、可复制
- 是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)
- 用户退出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过- 输入口令进入系统
- 系统网络安全的测试要考虑问题
- 测试采取的防护措施是否正确装配好,有关系统的补丁是否打上
- 模拟非授权攻击,看防护系统是否坚固
- 采用成熟的网络漏洞检查工具检查系统相关漏洞(即用最专业的黑客攻击工具攻击试一下,现在最常用的是 NBSI 系列和 IPhacker IP )
- 采用各种木马检查工具检查系统木马情况
- 采用各种防外挂工具检查系统各组程序的外挂漏洞
数据库安全考虑问题: - 系统数据是否机密(比如对银行系统,这一点就特别重要,一般的网站就没有太高要求)
- 系统数据的完整性(我刚刚结束的企业实名核查服务系统中就曾存在数据的不完整,对于这个系统的功能实现有了障碍)
- 系统数据可管理性
- 系统数据的独立性
- 系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)
问:什么是测试用例,什么是测试脚本,两者的关系是什么?
为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。
测试脚本是为了进行自动化测试而编写的脚本。
测试脚本的编写必须对应相应的测试用例,
问:简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试 β测试
静态测试是不运行程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。
动态测试是实际运行被测程序,输入相应的测试实例,检查运行结果与预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能。
黑盒测试一般用来确认软件功能的正确性和可操作性,目的是检测软件的各个功能是否能得以实现,把被测试的程序当作一个黑盒,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测试结果的正确性。
白盒测试根据软件内部的逻辑结构分析来进行测试,是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。
α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha 测试不能由程序员或测试员完成。
β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta 测试不能由程序员或测试员完成。
问:软件产品质量特性是什么? ?
功能性:适应性、准确性、互操作性、依从性、安全性。
可靠性:成熟性、容错性、以恢复性。
可使用性:易理解性、易学习性、易操作性。
效率:时间特性、资源特性。
可维护性:易分析性、易变更性、稳定性、易测试性。
可移植性: 适应性、易安装性、遵循性、易替换性。
问:软件测试的策略是什么?
软件测试策略:在一定的软件测试标准、测试规范的指导下,依据测试项目的特定环境约束而规定的软件测试的原则、方式、方法的集合。
问:软件测试分为几个阶段,各阶段的测试策略和要求是什么?
软件测试按阶段划分可以分为单元测试、集成测试、系统测试和<验收测试>
单元试测策略:
- 自顶向下的单元测试策略
总结:比孤立单元测试的成本高很多,不是单元测试的一个好的选择。 - 自底向上的单元测试策略
总结:比较合理的单元测试策略,但测试周期较长。 - 孤立单元测试策略
总结:最好的单元测试策略。
集成测试的测试策略:
- 大爆炸集成
适应于一个维护型项目或被测试系统较小 - 自顶向下集成
适应于产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定义或经常可能被修改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能行为。 - 自底向上集成
适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。 - 基于进度的集成
优点:具有较高的并行度;能够有效缩短项目的开发进度。
缺点:桩和驱动工作量较大;有些接口测试不充分;有些测试重复和浪费。
系统测试的策略:
数据和数据库完整性测试;功能测试;用户界面测试;性能评测;负载测试;强度测试;容量测试;安全性和访问控制测试;故障转移和恢复测试;配置测试;安装测试;加密测试;可用性测试;版本验证测试;文档测试
问:在软件测试各个阶段通常完成什么工作?各个阶段的结果文件是什么?包括什么内容?
单元测试阶段。各独立单元模块在与系统地其他部分相隔离的情况下进行测试,单元测试针对每一个程序模块进行正确性校验,检查各个程序模块是否正确地实现了规定的功能。生成单元测试报告,提交缺陷报告。
集成测试阶段。集成测试是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。该阶段生成集成测试报告,提交缺陷报告。
系统测试阶段。将通过确认测试的软件,作为整个给予计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行全面的功能覆盖。该阶段需要提交测试总结和缺陷报告。
问:测试人员在软件开发过程中的任务是什么?
1、寻找 Bug;
2、避免软件开发过程中的缺陷;
3、衡量软件的品质;
4、关注用户的需求。
总的目标是:确保软件的质量。
问:一条软件缺陷记录都包含了哪些内容?如何提交高质量的软件缺陷记录?
一条 Bug 记录最基本应包含:编号、Bug 所属模块、Bug 描述、Bug 级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;
要有效的发现 Bug 需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交 Bug 的质量。
问:黑盒测试优缺点
黑盒测试的优点有:
比较简单,不需要了解程序内部的代码及实现;
与软件的内部实现无关;
从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
在做软件自动化测试时较为方便。
黑盒测试的缺点有:
不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的 30%;
自动化测试的复用性较低。
问:白盒测试优缺点
白盒测试的优点有:
帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。
白盒测试的缺点有:
程序运行会有很多不同的路径,不可能测试所有的运行路径;
测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;
系统庞大时,测试开销会非常大。
问:如何测试一个 纸杯?
功能度:用水杯装水看漏不漏;水能不能被喝到
安全性:杯子有没有毒或细菌
可靠性:杯子从不同高度落下的损坏程度
可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用
兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等
易用性:杯子是否烫手、是否有防滑措施、是否方便饮用
用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述
疲劳测试:将杯子盛上水(案例一)放 24 小时检查泄漏时间和情况;盛上汽油(案例二)
放 24 小时检查泄漏时间和情况等
压力测试:用根针并在针上面不断加重量,看压强多大时会穿透
问:测试计划工作的目的是什么?测试计划文档的内容应该包括什么?其中哪些是最重要的?
软件测试计划是指导测试过程的纲领性文件。
包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。
测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
所以其中最重要的是测试测试策略和测试方法(最好是能先评审)。
问:黑盒测试的测试用例常见设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
问: 详细的描述一个测试活动完整的过程。
问:与开发人员的沟通
在团队中建立测试人员与开发人员良好沟通中注意以下几点:
一真诚
二是团队精神
三是在专业上有共同语言
四是要对事不对人,工作至上
当然也可以通过直接指出一些小问题,而不是进入 BUG Tracking System 来增加对方的好感。
问:你对测试最大的兴趣在哪里?为什么?
答案供参考:
最大的兴趣,感觉这是一个有挑战性的工作;
测试是一个经验行业,工作越久越能感觉到做好测试的难度和乐趣
通过自己的工作,能使软件产品越来越完善,从中体会到乐趣
回答此类问题注意以下几个方面:
尽可能的切合招聘企业的技术路线来表达你的兴趣,例如该企业是数据库应用的企业,那么表示你的兴趣在数据库的测试,并且希望通过测试提升自己的数据库掌握能力。
表明你做测试的目的是为了提升能力,也是为了更好的做好测试;提升能力不是为了以后转开发或其他的,除非用人企业有这样的安排。
不要过多的表达你的兴趣在招聘企业的范畴这外。比如招聘企业是做财务软件的,可是你表现出来的是对游戏软件的兴趣;或招聘是做 JAVA 开发的,而你的兴趣是在 C 类语言程序的开发。
问:你自认为测试的优势在哪里?
该面试也没有固定不变的答案,但可参考以下几点,并结合自身特点:
有韧性、有耐心、做事有条理性、喜欢面对挑战、有信心做好每一件事情、较强的沟通能力
问:集成测试通常都有那些策略?
1、大爆炸集成
2、自顶向下集成
3、自底向上集成
4、三明治集成适应于大部分软件开发项目
5、基干集成
6、分层集成
7、基于功能的集成
8、基于消息的集成
9、基于风险的集成
10、基于进度的集成
问:TCP/IP 协议
主要层次结构为: 应用层/传输层/网络层/数链路层。
ARP (Address Resolution Protocol)(地据址解析协议)
问:说说你对集成测试中自顶向下集成和自底向上集成两个策略的理解,要谈出它们各自的优缺点和主要适应于哪种类型测试
自顶向下集成
优点:较早地验证了主要控制和判断点;按深度优先可以首先实现和验证一个完整的软件功能;功能较早证实,带来信心;只需一个驱动,减少驱动器开发的费用;支持故障隔离。
缺点:柱的开发量大;底层验证被推迟;底层组件测试不充分。
适应于产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定义或经常可能被修改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能
行为。
2、自底向上集成
优点:对底层组件行为较早验证;工作最初可以并行集成,比自顶向下效率高;减少了桩的工作量;支持故障隔离。
缺点:驱动的开发工作量大;对高层的验证被推迟,设计上的错误不能被及时发现。
适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。
问: 设计测试用例时应该考虑哪些方面,即不同的测试用例针对那些方面进行测试?
设计测试用例时需要注意的是,除了对整体流程及功能注意外,还要注意强度测试、性能测试、压力测试、边界值测试、稳定性测试、安全性测试等多方面。(测试用例需要考虑的四个基本要素是输入、输出、操作和测试环境;另外,测试用例需要考虑的是测试类型(功能、性能、安全„„),这部分可以参照 TP 做答。此外,还需要考虑用例的重要性和优先级)
问:软件测试项目从什么时候开始,为什么?
软件测试应该在需求分析阶段就介入,因为测试的对象不仅仅是程序编码,应该对软件开发过程中产生的所有产品都测试,并且软件缺陷存在放大趋势.缺陷发现的越晚,修复它所花费的成本就越大.
问:什么是白盒测试?什么是黑盒测试?? 什么是回归测试?
白盒测试是测试人员要了解程序结构和处理过程,按照程序内部逻辑测试程序,检查程序中的每条通路是否按照预定要求正确工作.它主要的针对被测程序的源代码,测试着可以完全不考虑程序的功能.
白盒测试流程:详细设计–>源程序–>分析程序内部逻辑结构–>流程图–>制定测试用例–>被测程序–>执行路径–>覆盖情况分析 .
黑盒测试:(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。
回归测试: (regression testing): 回归测试有两类:用例回归和错误回归;用例回归是过一段时间以后再回头对以前使用过的用例在重新进行测试,看看会重新发现问题。错误回归,就是在新版本中,对以前版本中出现并修复的缺陷进行再次验证,并以缺陷为核心,
问:单元测试、集成测试、系统测试的侧重点是什么?
单元测试针对的是软件设计的最小单元–程序模块(面向过程中是函数、过程;面向对象中是类。),进行正确性检验的测试工作,在于发现每个程序模块内部可能存在的差错.一般有两个步骤:人工静态检查\动态执行跟踪集成测试针对的是通过了单元测试的各个模块所集成起来的组件进行检验,其主要内容是各个单元模块之间的接口,以及各个模块集成后所实现的功能.
系统测试针对的是集成好的软件系统,作为整个计算机系统的一个元素,与计算机硬件\外设\某些支持软件\数据和人员等其他系统元素结合在一起,要在实际的运行环境中,对计算机系统进行一系列的集成测试和确认测试.
问:设计用例的方法:
在测试的不同阶段运用不用的测试方法设计用例的方法依据不同:
白盒测试用例设计有如下方法:逻辑覆盖、循环覆盖和基本路径覆盖
黑盒测试用例设计方法:等价类划分、边界值分析、错误猜测、因果图、状态图、测试大纲、场景法、正交策略表。
问:集成测试通常都有那些策略?
问:你所了解的的软件测试类型都有哪些,简单介绍一下。
按测试策略分类:1、静态与动态测试 2、黑盒与白盒测试 3、手工和自动测试 4、冒烟测试 5、回归测试;
按测试阶段分类:单元测试、集成测试、系统测试;
其他常见测试方法:1、功能测试 2、性能测试 3、压力测试 4、负载测试 5、易用性测试 6、安装测试 7、界面测试 8、配置测试 9、文档测试 10、兼容性测试 11、安全性测试 12、恢复测试
问:给你一个网站,你如何测试?
1. 查找文档,分析测试需求
查找需求说明、网站设计说明等相关文档,分析测试需求。
2. 制定测试计划,确定测试范围和测试策略
一般包括以下几个部分:
功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试
3. 设计测试用例:
见下文
4. 开展测试,并记录缺陷。
合理的安排调整测试进度,提前获取测试所需的资源,建立管理体系(例如,需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。定期评审,对测试进行评估和总结,调整测试的内容。
功能性测试
- 链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回等。提交功能的测试。
- 多媒体元素是否可以正确加载和显示。多语言支持是否能够正确显示选择的语言等。
界面测试
- 页面是否风格统一,美观
- 页面布局是否合理,重点内容和热点内容是否突出
- 控件是否正常使用
- 对于必须但为安装的空间,是否提供自动下载并安装的功能
- 文字检查
性能测试
- 压力测试
- 负载测试
- 强度测试
数据库测试
要具体决定是否需要开展。
数据库一般需要考虑连结性,对数据的存取操作,数据内容的验证等方面。
安全性测试:
- 基本的登录功能的检查
- 是否存在溢出错误,导致系统崩溃或者权限泄露
- 关开发语言的常见安全性问题检查,例如 SQL 注入等。
- 如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持兼容性测试,根据需求说明的内容,确定支持的平台组合:
兼容性测试
- 浏览器的兼容性
- 操作系统的兼容性
- 软件平台的兼容性
- 数据库的兼容性
知识技能
基础知识
1. 前置知识
计算机基础
测试理论
HTML基础
CSS基础
JS基础
2. linux和数据库
linux
数据库介绍
SQL语言(重点)
数据库高级功能
3. 测试基础
软件测试理论
软件生命周期
测试方法和分类
测试用例设计
缺陷管理
web项目实战
测试管理工具
4. 编程+数据结构
Python基础
面向对象
异常处理
模块和包
5. WEB自动化
WEB自动化入门
WEB自动化基础
WEB自动化中级
WEB自动化高级
项目实战
6. 移动自动化
移动自动化基础
移动自动化中级
移动自动化高级
7. 接口测试
接口基础
postman实现接口测试
数据库操作
代码实现接口测试
持续集成
接口测试扩展
8. 性能测试
性能测试基础
性能测试工具
项目-接口性能测试
项目-web性能测试
性能测试调优
9. 综合项目实战
功能测试
ui自动化测试
接口测试
性能测试
发展方向
技术专家
这条路较为坎坷,但是也最为抗打。如果你不善于人际关系,不问世事,又对技术有这浓厚的兴趣,那么建议你走技术这条路。平时多撸代码、多和开发沟通,写一些测试平台或者测试工具。同时开发能力也要不错,这样才能成为一个高阶的测试开发工程师。
管理方向
做技术累,做管理更累,因为和人打交道是最复杂的。既要协调上下级的关系,又要统筹安排好各项工作。如果喜欢走管理路线,不要脱离业务只做管理,建议做一名技术管理,在带领团队的同时,不断的提升自己的技术。一方面技术不行很难服众,另一方面也是锻炼自己落地一些团队方案的能力。虽然说管理的“生命周期”比纯技术会长一些,但是一定不能放弃技术。
转行其他
研发、产品、运维,或者创业,都是面临瓶颈之后的新的出路。其中尤其是创业,不要草率,见过太多创业失败又回来上班的,啥都折腾没了。