检查软件有没有Bug;避免上线后出现重大问题。
测试工程师: 主要做功能测试
1)功能测试
2)自动化测试:能写代码测试代码。
3)开发测试工具进行测试。
测试开发工程师: 一切跟测试活动相关的工具开发。比jira,Bugzilla(管理工具),各种平台的测试框架(被测试项目在linux下windows下的环境,不同环境有不同的测试框架),甚至CI(持续集成)和代码管理工具都涉及。
编写测试脚本,写自动化测试框架,执行测试,分析,提交BUG,跟踪BUG状态、总结,帮助企业全面实现自动,从而节省成本。
想从事自动化必须会代码,可以学习例如selenium,appium(常用)等这样的工具。
自动化测试测试工程师: 自动化测试框架,测试case开发,环境搭建,log分析,report等。
包括:负载测试(指标变化),压力测试(性能点),强度测试,容量测试,基准测试,渗入测试,峰谷测试 。
测试是为发现错误而执行的一个程序或系统的过程。
测试是为了寻找错误,并尽最大可能找出最多的错误,并对软件质量进行度量与评估,以提高软件质量。测试可以证明软件存在错误,但不能保证软件没有错误。
5W
“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”
利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。
测试计划和测试用例之间的关系
测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
是指软件产品从提出、实现、使用、维护到停止使用退役的过程。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NhVbLXdE-1628206667244)(/Users/yangying/Library/Application Support/typora-user-images/image-20210602210931539.png)]
在具体的测试执行过程中又分为是否查看源代码的测试方式, 不查看源代码的测试方式为黑盒测试,查看源代码的测试方式为白盒测试。
黑盒测试是把测试对象看成是一个黑盒子,完全不考虑程序内部结构和处理过程。 它只是检测程序实现的功能是否按需求说明书规定那样。注重于测试软件的功能需求,只关心软件的输入数据和 输出数据。
自动化测试是属于黑盒测试下面的一个子分支。
白盒测试是把程序看成是装在一个透明的白盒子里,清楚了解程序结构和处理逻辑过程。检查所有路径及条件是否正确,是否符合设计规格要求。
灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。
1,等价类划分(最常用): 把程序输入条件划分成若干部份,从每个部份中选取少数代表数据作为测试数据。每一类中的代表数据在测试中等价于这整个类的其他数据。
⭐ 等价类划分
⭐ 等价类划分
2,边界值分析法(最常用):通过选择等价类刚好被划分的边界值作为测试数据。
3,因果图分析法: 从程序规格说明中找出“因”(输入条件)和“果”(输出),通过因果图转换成判定表。
4,错误推测法 : 基于经验和直觉推测程序中所有可能存在各种错误。
5,判定表驱动法 :
6,正交试验设计法 :
7,功能图法:
其中逻辑覆盖按照发现错误的能力由低到高:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
(1)语句覆盖:就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。
(2)判定覆盖:使设计的测试用例保证程序中每个判断取“真”与取“假”两种情况都能至少测一遍。
(3)条件覆盖:条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支
(4)判定条件覆盖:判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行,即要求各个判断的所有可能的条件取值组合至少执行一次。
(5)条件组合覆盖:在白盒测试法中,选择足够的测试用例,使所有判定中各条件判断结果的所有组合至少出现一次,满足这种覆盖标准成为条件组合覆盖。
(6)路径覆盖:每条可能执行到的路径至少执行一次。
(一)需求测试:
(二)界面测试(UI Test):
(三)功能测试(Function test):
(四)性能测试(performance test)
(五) 安全性测试(Security test):
(六)可用性测试(Usability Test):
(七) 兼容性测试:
不同结构的用例包括的不一样。(版本、编号、项目、设计人员、设计日期、输入、预期输出„„)
软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果。
测试项目:杯子
需求测试:查看杯子使用说明书
界面测试:查看杯子的外观是否得体。(外形、图案)、
易用性:杯子是否烫手、是否有防滑措施、是否方便饮水、是否易用手端着或手拿。
安全性:使用过程中杯口是否容易给身体造成伤害,,杯子有没有毒和细菌。
可靠性:杯子从不同高度掉下的损坏程度。
稳定性:杯子一直盛着水,时间长了是否会漏水。
兼容性:是否可容纳高温度水、果汁、酒精、汽油等。
用户文档:用户使用手册上是否有对杯子的使用方法进行限制,是否出现使用过程中友好的提示、该注意的问题、使用环境等有详细的描述。
1、查找需求说明、网站设计等相关文档,分析测试需求。
2、制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:
功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试
3、设计测试用例:
校验身份证号规则的有效性(包括地址码、生日期码、顺序码和校验码)
校验 15 位身份证号和 18 位身份正好都是可用的
校验末位是 X 的情况
校验不足 15 位、16-17 位和大于 18 位的情况
如果是必输项,校验不输入的时候会不会有正确的提示
如果不是必输项,则要校验不输入的时候流程能否正常进行
校验输入非数字的情况,是否会有正确提示信息(包括大小写字母、汉字、特殊字符和标点符号)
校验输入全角的数字的时候,系统是否会识别(这个得根据需求确定是否可以使用全角的数字)
软件测试目的:发现错误
软件调试目的:改正错误
软件调试步骤:
<1>错误定位:找到错误的位置在哪
<2> 纠正错误
<3>回归测试: 调试后要进行回归测试,防止引进新的错误。
有韧性
有耐心
做事有条理性
喜欢面对挑战
有信心做好每一件事情
较强的沟通能力
从以前的经理处都得到了很好的评价表明我做的很好
模式的目标:把共通问题中的不变部分和变化部分分离出来。不变的部分,就构成了模式。因此,模式是个经验提取的准则,并且一次次的实践中得到验证。
1.搭建测试环境
2.撰写测试用例
3.执行测试用例
4.写测试计划,测试报告
5.测试,并提交BUG表单
6.跟踪bug修改情况
7.执行自动化测试,编写脚本,执行,分析,报告
8.进行性能测试,压力测试等其他测试,执行,分析,调优,报告
LoadRunner-负载压力测试:预测系统性能。
JMeter+Badboy:基于JAVA的压力测试工具,Badboy用来进行脚本的录制
功能测试:通过自动录制、检测和回放用户的应用操作。将输出记录同预先给定的记录比较。
Junit:白盒测试工具:针对代码测试
测试管理工具:对测试需求、计划、用例、实施进行管理
测试辅助工具:本身不执行,可以生成测试数据,为测试提供数据准备
负载压力测试:LoadRunner:预测系统行为和性能的工业标准级负载测试工具。模拟上千万用户同时实施并发操作,来实时监控可能发生的问题。
功能测试: QTP(quicktest professional):自动测试工具
白盒测试:C++ TEST(做C和C++的白盒测试)、JUnit(Java白盒测试)
缺陷管理工具:Mantis、BugFree、QC、TD
用例管理工具:TestLink、QC
测试辅助工具:SVN
• 代码错误
• 界面优化
• 设计缺陷
• 配置相关
• 安装部署
• 安全相关
• 性能问题
• 标准规范
• 测试脚本
• 其他