测试方法&常见问题回答
反正找到工作了。就把自己准备测试的东西分享出来,直接复制到word里应该可以自动生成目录的
1、单元测试
单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。
2、集成测试
集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。
① 将各个模块连接起来,检查模块相互调用时,数据经过接口是否丢失
② 将各个子模块组合起来,检查能否达到预期要求的各项功能
③ 一个模块的功能是否对另一个模块功能产生不利影响
④ 全局数据结构是否有问题,会不会被异常修改
⑤ 单个模块的无处积累起来是否被放大,从而达到不可接受程度
3、系统测试
系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确。
针对整个产品的全面测试
① 各模块的验证性测试(验证前两个阶段测试的正确性)
② 功能性(产品提交个用户的功能)测试
③ 对整个产品的健壮性、安全性、可维护性及各种性能参数的测试。
④ 系统测试测试软件《需求规格说明书》中提到的功能是否有遗漏,是否正确的实现。
⑤ 一般都使用黑盒测试法。
4、回归测试
回归测试是指在发生修改之后重新测试先前的测试用例以保证修改的正确性。理论上,软件产生新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再次出现。根据修复好了的缺陷再重新进行测试。
回归测试是指修改了旧代码后,重新实行测试以确认修改后没有引入新的错误或导致其他代码产生错误。第一轮次功能测试中发现的bug得到修复后,对该功能进行第二轮测试。回归也是一个循环的过程,如果回归的问题通不过,则需要开发人员修改后再次进行回归,直到通过为止。
5、黑盒测试
也称为功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。
6、白盒测试
也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。白盒测试法检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序;穷举路径测试不可能检查出程序因为遗漏路径而出错;穷举路径测试发现不了一些与数据相关的错误。
边界测试法:上点(边界上的点),内点(边界内的点),离点(离边界最近的点)
需要遵循的原则有:
① 保证一个模块中的所有独立路径至少被测试一次;
② 所有逻辑值均需要测试真(true)和假(false)两种情况;
③ 检查程序的内部数据结构,保证其结构的有效性;
④ 在上下边界及可操作范围内运行所有循环。
静态测试:不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等,它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具(Fxcop)自动进行。
动态测试:需要执行代码,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。
白盒测试中的逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:
① 语句覆盖每条语句至少执行一次。
② 判定覆盖每个判定的每个分支至少执行一次。
③ 条件覆盖每个判定的每个条件应取到各种可能的值。
④ 判定/条件覆盖同时满足判定覆盖条件覆盖。
⑤ 条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
⑥ 路径覆盖使程序中每一条可能的路径至少执行一次。
7、黑盒测试白盒测试区别
测试方式不同
① 黑盒测试:功能测试,是通过测试来检测每个功能是否都能正常使用。
② 白盒测试:称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。
测试目的不同
① 黑盒测试:把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
② 白盒测试:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试。在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。
测试原则不同
① 黑盒测试:以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
② 白盒测试:一个模块中的所有独立路径至少被测试一次。所有逻辑值均需测试true和false两种情况。
8、灰盒测试
是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。
9、性能测试
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
10、并发测试
测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题
11、冒烟测试
是指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。
引入到软件测试中,就是指测试小组在正规测试一个新版本之前,先投入较少的人力和时间验证一个软件的主要功能,如果主要功能都没有实现,则打回开发组重新开发。这样做的好处是可以节省大量的时间成本和人力成本。
12、功能测试
功能测试检查实际的功能是否符合用户的需求。测试的大部分工作也是围绕软件的功能进行,设计软件的目的也就是满足客户对其功能的需求。
功能测试又可可以细分为很多种:界面测试、逻辑功能测试、易用性测试、安装测试、兼容性测试等。
13、界面测试
确保产品UI符合产品经理和设计师的界面设计,并且文案正确。
逻辑功能测试:根据需求文档与测试用例,测试产品的逻辑,确保逻辑正确。
兼容性测试:原有功能优化后在新旧版本上的兼容测试;服务号、PC Web、组织号与APP之间相互功能的交互与兼容测试。
14、静态测试
静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。静态测试结果可用于进一步的查错,并为测试用例选取提供指导。
15、验收测试
验收测试是部署软件之前的最后一个测试操作。一般是对产品功能、用户界面、性能、业务关联性的全局测试,确保产品达到产品经理的需求,没有阻碍产品使用的大bug。
16、升级测试
从历史版本升级到当前新版本的测试,确保升级后,软件可以正常使用,重点对升级后的新功能进行测试。
17、动态测试
动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。
18、什么是α测试?
答:Alpha测试(α测试)是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。Alpha测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。目的是评价软件产品的功能、可使用性、可靠性、性能和支持。尤其注重产品的界面和特色。Alpha测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。有关的手册(草稿)等应该在Alpha测试前准备好。
19、什么是β测试?
答:Beta测试(β测试)是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。因而,Beta测试是在开发者无法控制的环境下进行的软件现场应用。在Beta测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。Beta测试着重于产品的支持性,包括文档、客户培训和支持产品的生产能力。只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。由于Beta测试的主要目标是测试可支持性,所以Beta测试应该尽可能由主持产品发行的人员来管理。
二、常见问题
1、系统测试流程
系统测试过程分为四个阶段:测试计划阶段、测试设计阶段、测试实现阶段、测试执行阶段。
(1)测试计划阶段主要是定义测试目标、测试过程中人力资源的安排、测试准入准出条件、每个Build版本的测试时间、里程碑点、风险分析等信息。测试计划最核心的目的就是控制风险。
(2)测试设计阶段主要是完成测试方案,当测试计划和需求规格说明书完成评审后即开始设计测试方案。测试方案主要包括测试策略(功能、性能或自动化测试的策略)、测试环境搭建、测试数据准备、测试工具使用、优先级等信息;测试方案的核心是测试策略的设计,为测试用例设计做准备。
(3)测试实现阶段主要是完成测试用例、测试规程、测试的预测试项。测试实现阶段最主要的是完成测试用例的设计与测试用例的评审。
(4)测试执行阶段主要是执行系统测试预测试项、系统测试用例,修改发现的问题并进行回归测试,提交系统预测试报告、系统测试报告、缺陷报告。
2、系统测试和集成测试之间的区别:
① 计划和用例编制的先后顺序:从V模型来讲,在需求阶段就要制定系统测试计划和用例,HLD的时候做集成测试计划和用例,有些公司的具体实践不一样,但是顺序肯定是先做系统测试计划用例,再做集成。
② 用例的粒度:系统测试用例相对很接近用户接受测试用例,集成测试用例比系统测试用例更详细,而且对于接口部分要重点写,毕竟要集成各个模块或者子系统。
③ 执行测试的顺序:先执行集成测试,待集成测试出的问题修复之后,再做系统测试。
3、测试开发需要哪些知识?具备什么能力?
需要的知识:
软件测试基础理论知识,如黑盒测试、白盒测试等;
考编程语言基础,如C/C++、java、python等;
自动化测试工具,如Selenium、Appium、Robotium等;
计算机基础知识,如数据库、Linux、计算机网络等;
测试框架,如JUnit等。
需要具备的能力:
业务分析能力,分析整体业务流程、分析被测业务数据、分析被测系统架构、分析被测业务模块、分析测试所需资源、分析测试完成目标;
缺陷洞察能力,一般缺陷的发现能力、隐性问题的发现能力、发现连带问题的能力、发现问题隐患的能力、尽早发现问题的能力、发现问题根源的能力;
团队协作能力,合理进行人员分工、协助组员解决问题、配合完成测试任务、配合开发重现缺陷、督促项目整体进度、出现问题勇于承担;
专业技术能力,掌握测试基础知识、掌握计算机知识、熟练运用测试工具;
逻辑思考能力,判断逻辑的正确性、对可行性逻辑分析、站在客观角度思考;
问题解决能力,技术上的问题、工作中的问题、沟通问题;
沟通表达能力,和技术人员、产品人员、上下级的沟通;
宏观把控能力,有效控制测试时间、有效控制测试成本、有效制定测试计划、有效进行风险评估、有效控制测试方向。
4、为什么选择测试
软件测试是正在快速发展,充满挑战的领域。尽管现在许多自动化测试软件的出现使得传统手工测试的方式被代替,但自动化测试工具的开发、安全测试、测试建模、精准测试、性能测试、可靠性测试等专项测试中仍然需要大量具有专业技能与专业素养的测试人员,并且随着云计算、物联网、大数据的发展,传统的测试技术可能不再适用,测试人员也因此面临着挑战,需要深入了解新场景并针对不同场景尝试新的测试方法,同时敏捷测试、Devops的出现也显示了软件测试的潜力。
5、测试核心竞争力
测试人员的核心竞争力在于提早发现问题,并能够发现别人无法发现的问题。
① 早发现问题:问题发现的越早,解决的成本越低。如果一个需求在还未实现的时候就能发现需求的漏洞,那么这种问题的价值是最高的。
② 发现别人无法发现的问题:所有人都能发现的问题,你发现了,那就证明你是可以被替代的。别人发现不了,而你可以发现,那么你就是无法被替代。
6、软件测试出发点
出发点:测试是为发现错误而执行一个程序或者系统的过程。
●测试是为了证明程序有错,而不是证明程序无错误
●一个好的测试用例在于它能发现以前未发现的错误一个成功的测试是发现了以前未发现的错误的测试
7、软件开发流程
1)启动
在项目启动阶段,主要确定项目的目标及其可行性。我们需要对项目的背景、干系人、解决的问题等等进行了解。并编制项目章程和组建项目团队,包括:产品经理、架构工程师、UI工程师、开发工程师、测试工程师等。完成以上准备工作之后,召开项目启动会,启动会结束则进入下一步的工作。
2)规划
在项目的规划阶段,项目经理需要和项目需求方,以及项目的相关干系人确定项目的范围,创建WBS,确定项目的里程碑和项目计划。同时制定项目的管理计划,包括成本、质量、风险等方面的预测和控制方案。
3)需求
在需求阶段,需要对采集的需求进行需求分析,编写PRD文档、UI设计、高保真设计。
最后进入需求评审,评审通过则进入下一步的工作
4)设计
在设计阶段,设计人员根据需求文档,对软件系统进行设计,包括数据结构、系统架构、业务模型及规则、流程控制、模块接口等。输出概要设计,详细设计文档,以及数据库设计说明书等。
5)开发
在明确需求后,开发工程师正式进入编码阶段,根据产品原型图、UI效果图、设计文档,选择合适的开发环境、开发工具、开发语言等等进行实现,这个阶段也是个很长很难的阶段,也是软件实现的核心。
6)功能测试
对软件进行测试是保证软件质量的重要手段。开发工程师开发完成后,可以交由测试工程师测试。测试工程师测试到BUG要反馈给开发,开发进行修改。功能测试通常需要进行很多次,直到测试通过,达到质量要求。
7)端到端测试
在端到端测试阶段,测试人员根据完整的业务流程设计可以覆盖全流程的端到端测试案例,然后基于端到端案例对系统的各个模块进行全面测试,确保系统能够符合需求和验收质量标准。
8)用户验收测试
用户验收测试阶段,也是通常的UAT(User Acceptance Test)阶段,用户验收测试是最终用户可以检查软件是否符合业务要求的最后阶段。UAT由了解要求并了解构建软件目的的最终用户执行。此测试是在软件运行之前执行的最后一次测试。最终用户使用现实生活场景并为真实数据构建UAT测试用例,用户验收测试在最终用户在上线之前验证软件是否满足这些业务需求方面具有重要作用。
9)上线
所有测试通过,并与客户或者上级达成一致后,系统进行试运行,稳定后上线。
上线包括:上线部署、部署后验证、整理交付物(需求文档、设计文档、安装部署手册、产品帮助等等)和运维移交。
10)收尾
项目的收尾阶段,移交项目成果,释放项目团队,进行项目回顾总结,项目汇报,完成项目结项
8、测试流程
1.需求分析:分析需求点。
2.制定测试计划:包括人力,软硬件资源,测试点,集成顺序,进度和风险识别等内容。
3.测试设计:主要是对测试用例和规程的设计,根据测试方案进行编写。测试用例主要包括测试项,用例级别,预置条件,操作步骤和预期结果。
4.测试执行:开始执行测试用例,并提交有质量的bug和日报,测试报告等。
测试方法:黑盒测试,白盒测试,灰盒测试,动态测试,静态测试,性能测试,安全性测试,兼容性测试等。
9、自动化测试意义
自动化测试的意义在于
① 可以对程序的新版本自动执行回归测试
② 可以执行手工测试困难或者不可能实现的测试,如压力测试,并发测试,
③ 能够更好的利用资源,节省时间和人力
执行自动化测试之前首先判断这个项目是不是和推广自动化测试,然后对项目做需求分析,指定测试计划,搭建自动化测试框架,设计测试用例,执行测试,评估
自动化是释放双手的过程(自动化+web测试=web自动化测试)
自动化测试的先决条件:产品需求变更较少、项目周期长,测试用例执行频繁,人工无法胜任,有充足的人力物力
A:自动化测试不适应的情况
不适于一次性,周期短,逻辑复杂,人类感官(界面美化),与物理交互
适用于单位,回归,接口,性能,协议等
B:自动化测试可以大幅度降低工作量
自动化测试编写脚本是及其浪费人力物力的,只有大项目里,自动化测试相比较下来会节约明显的人力
C:自动化测试不一定比人工测试更能保障系统的可靠性
人工测试更能体现人的主观能动性,在感知方面,还是人工测试为主导
D:自动化测试不能完全覆盖到所有的测试类型
易用性,探索性,复杂性低,不能快速返回结果的测试
10、如何写测试用例
测试用例常见的设计方法有:等价类划分法、边界值分析法、错误推测法、判定表法、正交实验法。
① 等价类划分法
顾名思义,等价类划分,就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出若干个有代表性的值作为测试用例。
有效等价类实例:能检验程序是否实现了规格说明中所规定的功能和性能
无效等价类实例:指对于软件规格说明而言,没有意义的、不合理的输入
等价类的划分,最关键的是子集的划分。实际上,非数字还可以继续划分子集:字母,特殊字符。
例如,我们要测试一个用户名是否合法,用户名的定义为:8位数字组成的字符。
我们可以先划分子集:空用户名,1-7位数字,8位数字,9位或以上数字,非数字。
然后从每个子集选出若干个有代表性的值:
空用户名:“” (无效等价类实例,指对于软件规格说明而言,没有意义的、不合理的输入)
1-7位数字:”234” (无效等价类实例)
8位数字:”00000000” (有效等价类实例,能检验程序是否实现了规格说明中所规定的功能和性能)
9位或以上数字:”1234567890” (无效等价类实例)
非数字:”abc&!!!” (无效等价类实例)
他们5个,就是用等价类划分选出的测试用例。实际上,对于1-7位数字的子集来说,选“234”和“11111”没有本质的区别。
等价类的划分,最关键的是子集的划分。实际上,非数字还可以继续划分子集:字母,特殊字符。
② 边界值分析法
长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。选出的测试用例,应选取正好等于、刚刚大于、刚刚小于边界的值
例如,对于在区间min,max的值,测试用例可以记为min,min+,max,max-。
例如,假定X为整数,10≤X≤100,那么X在测试中应该取的边界值为:10,11,99,100。
注:上面只是说边界值,如果是完整的测试,除了边界值外,还需要一个正常值,即12-98之间的任意值。
③ 错误推测法
错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。这种方法没有固定的形式,依靠的是经验和直觉,很多时候,我们都会不知不觉的使用到。
④ 判定表法
又称为策略表,基于策略表的测试,是功能测试中最严密的测试方法。该方法适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略表。
⑤ 正交实验法
用语言描述正交实验***很抽象难懂,简单说,就是在各因素互相独立的情况下,设计出一种特殊的表格,找出能以少数替代全面的测试用例。其中,上面所说的特殊表格就是正交表,是按照一定规则生成的表。虽然说是特殊的表格,实际表现形式跟一般的表格没有什么区别,正交表的主要特征是,“均匀分布,整齐划一”,当组合条件不多的时候,穷举暂时没问题,但是,一旦条件多了,组合个数就会以指数形式增长。这个时候,就要用到正交表了,通过选出有代表性的测试实例,达到以少数代替全面的效果。正交表如何设计呢,这个问题实际很复杂,涉及到组合统计的数学知识,有的正交表甚至到目前为止,还未得出算法。我们只能通过已知的模型套上去。
⑥ 因果图法
比较适合输条件比较多的情况
11、测试项目具体工作
搭建测试环境
撰写测试用例
执行测试用例
写测试计划,测试报告
测试,并提交BUG表单
跟踪bug修改情况
执行自动化测试,编写脚本,执行,分析,报告
进行性能测试,压力测试等其他测试,执行,分析,调优,报告
12、bug分类及等级
Bug的严重等级定义:
① Blocker即系统无法执行、崩溃或严重资源不足、应用模块无法启动或异常退出、无法测试、造成系统不稳定。
严重花屏
内存泄漏
用户数据丢失或破坏
系统崩溃/死机/冻结
模块无法启动或异常退出
严重的数值计算错误
功能设计与需求严重不符
其它导致无法测试的错误,如服务器500错误
② Critical即影响系统功能或操作,主要功能存在严重缺陷,但不会影响到系统稳定性。
功能未实现
功能错误
系统刷新错误
数据通讯错误
轻微的数值计算错误
影响功能及界面的错误字或拼写错误
安全性问题
③ Major即界面、性能缺陷、兼容性。
操作界面错误(包括数据窗口内列名定义、含义是否一致)
边界条件下错误
提示信息错误(包括未给出信息、信息提示错误等)
长时间操作无进度提示
系统未优化(性能问题)
光标跳转设置不好,鼠标(光标)定位错误
兼容性问题
④ Minor即易用性及建议性问题。
界面格式等不规范
辅助说明描述不清楚
操作时未给用户提示
可输入区域和只读区域没有明显的区分标志
个别不影响产品理解的错别字
文字排列不整齐等一些小问题
13、打开网页没有出现预想的界面,可能原因是?
① DNS坏掉了,修改自己的IP地址为8.8.8.8试试
② 网络断了
③ 服务器拒绝访问
④ 请求或者响应在网络传输中途被劫走了
14、 Bug的优先等级
① Immediate即“马上解决”,表示问题必须马上解决,否则系统根本无法达到预定的需求。
② Urgent即“急需解决”,表示问题的修复很紧要,很急迫,关系到系统的主要功能模块能否正常。
③ High即“高度重视”,表示有时间就要马上解决,否则系统偏离需求较大或预定功能不能正常实现。
④ Normal即“正常处理”,进入个人计划解决,表示问题不影响需求的实现,但是影响其他使用方面,比如页面调用出错,调用了错误的等。
⑤ Low即“低优先级”,即问题在系统发布以前必须确认解决或确认可以不予解决。
备注:严重性和优先级并不总是一一对应。有时候严重性高的软件缺陷,优先级不一定高,甚至不需要处理,而一些严重性低的缺陷却需要及时处理,具有较高的优先级。
15、能否接受加班
第一种情况:假设公司有重要的项目要赶。示范回答:贵公司现在正处于发展上升期,也在官网上有看到公司的重要项目成果,我觉得有时候因为赶项目进度、工作需要等忙起来是非常正常的,面对这种情况,我是非常愿意配合公司和团队的工作,让工作能够更顺利地完成,此外,我也相信自己一定能在公司安排的工作中获得到锻炼,获得更快地成长。
第二种情况:假设自己作为新人,对业务不熟悉。示范回答:我作为公司刚进去的新人,可能刚开始进入公司接触业务时不太熟练,会出现需要加班的情况,但我更愿意提高工作效率,并积极向公司的前辈请教学习,在一定的时间内完成工作而不是拖到下班之后。当然,如果有紧急的事情,忙起来需要加班也是可以接受的。
(加班可以有,但还是希望有时间处理自己的事情~
16、测试职业规划
如果将来想走技术路线,精进自己的技能,
学习自动化测试、性能测试、接口测试,这样就可以从事相应方向的测试工作了。
积累了几年经验之后,你可以进阶到高级测试工程师,拿到20k-30k左右的月薪。如果你懂一些开发相关的知识,那么就可以胜任测试架构师,拥有20k-40k的月薪。如果你能够在测试行业做到顶尖水平的话,那么就可以晋升到测试专家岗位,争取到50k+的月薪。
17、对测试开发的认识
测试开发首先离不开测试,而软件测试是指,在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
而且,现在不仅仅是通过手工测试来发现定位Bug,也会通过编写脚本、测试工具来完成自动化测试,因此,对于测试开发人员来说,他除了保证产品质量之外,还要编写脚本以及开发测试工具。这就是我对测试开发的一点理解。
18、为什么做测试而不是去做开发
首先,在近几年,国内对软件测试越来越重视,测试的前景是非常好的。
其次,测试在一个项目开发的过程中是非常重要的一环。开发人员很难在开发的时候又要全面兼顾产品的质量,测试人员就是项目内部的最后把关者,最大程度的保证项目上线不会出现问题。责任非常大,责任越大成就感就越大。我很喜欢这样的工作。在网上看到一句话,说:写程序的人就像在造没有护栏的桥,自己去走那肯定安全无虞,那怕摸黑也不至于掉河里去;测试则像给桥修护栏的,让桥的普通使用者也能像开发那样来去自如。从这一点上说,可以体现出测试的重要性。
19、如何处理矛盾
我觉得做测试和程序员发生冲突是难免的,人与人之间在一起生活,难免会发生冲突。发生冲突不能用争吵解决,要坦诚相待,心平气和地与对方沟通,善于倾听对方的观点,并理解对方,然后向对方阐述自己的观点。。如果还是产生差异,我会请示上级。
20、你为什么能够胜任这个岗位
测试用例要素(用例编号、用例名称、测试项、输入、预期结果。。。)