软件测试知识点汇总

一、软件测试概念

1、经典定义

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

2、标准定义

软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

3、测试目的

软件测试的目的是发现问题,发现至今未发现的问题。检查系统是否满足需求。
Grenford J. Myers在《The Art of Software Testing》一书中提出:
(1)测试是程序的执行过程,目的在于发现错误;
(2)一个好的测试用例在于能发现至今未发现的错误;
(3)一个成功的测试是发现了至今未发现的错误的测试;

4、测试对象

程序、数据、文档。

5、软件错误占比

据业界著名的统计公司的统计表明,属于需求分析和软件设计错误的约占64%,属于程序编写错误的仅占36%。

二、软件测试模型

传统:项目计划——需求分析——软件设计——程序开发——软件测试——集成维护
H模型:测试准备-测试就绪点-测试执行-测试流程-其他流程
X模型:程序片段1-测试设计-工具配置-执行测试-编码完成-执行测试-工具配置-测试设计-程序片段N;封版-执行测试-测试设计-工具配置-迭代1…N-探索式测试-执行测试

软件V模型图:需求分析-概要设计-详细设计-软件编码-单元测试-集成测试-系统测试-验收测试
在这里插入图片描述
软件测试W模型图:用户需求-需求分析-概要设计-详细设计-编码-单元测试-集成测试-验收测试-单元测试设计-集成测试设计-系统测试设计-验收测试设计-集成-实施-交付
在这里插入图片描述
软件H模型图:测试准备-测试就绪点-测试执行-测试流程-其他流程
在这里插入图片描述
软件X模型图:程序片段1-测试设计-工具配置-执行测试-编码完成-执行测试-工具配置-测试设计-程序片段N;封版-执行测试-测试设计-工具配置-迭代1…N-探索式测试-执行测试
在这里插入图片描述
总结:在W模型基础上结合H模型思想进行测试,当变更发生时,采用X模型思想进行处理,将开发和测试紧密结合,寻找恰当的就绪点开始测试,并反复迭代。

三、软件测试分类

测试级别:单元测试、集成测试、接口测试、系统测试、验收测试
测试方法:动态测试、静态测试;黑盒测试、白盒测试、灰盒测试。

1、按阶段划分(*)
1、单元测试(Unit Testing)

单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。Findyou又称为模块测试。

测试阶段:编码后

测试对象:最小模块

测试人员:白盒测试工程师或开发工程师

测试依据:代码和注释+详细设计文档

测试方法:白盒测试

测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

2、集成测试(Integration Testing)

集成测试也称联合测试、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。主要目的是检查软件单位之间的接口是否正确。

测试阶段:一般单元测试之后进行

测试对象:模块间的接口

测试人员:白盒测试工程师或开发工程师

测试依据:单元测试的模块+概要设计文档

测试方法:黑盒测试与白盒测试相结合

测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响

3、系统测试(System Testing)

将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段

测试阶段:集成测试通过之后

测试对象:整个系统(软、硬件)

测试人员:黑盒测试工程师

测试依据:需求规格说明文档

测试方法:黑盒测试

测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等

4、验收测试(Acceptance Testing)

验收测试是部署软件之前的最后一个测试操作。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买都展示该软件系统满足原始需求。

测试阶段:系统测试通过之后

测试对象:整个系统(包括软硬件)。

测试人员:主要是最终用户或者需求方。

测试依据:用户需求、验收标准

测试方法:黑盒测试

测试内容:同系统测试(功能…各类文档等)

2、按是否查看代码划分(*)
1、黑盒测试(Black-box Testing)

黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出数据。

2、白盒测试(White-box Testing)

白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒指的打开盒子,去研究里面的源代码和程序结果。

3、灰盒测试(Gray-Box Testing)

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。

3、按是否查看代码划分(*)
1、手工测试(Manual testing)

手工测试就是由人去一个个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步骤。
优缺点:
优点:自动化无法替代探索性测试、发散思维类无既定结果的测试。
缺点:执行效率慢,量大易错。

2、自动化测试(Automation Testing)

就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。简单说自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。 如功能测试自动化、性能测试自动化、安全测试自动化。
通常所说的自动化是指功能测试自动化

4、其他汇总
1、冒烟测试(Smoke Testing)(*)

开发人员在个人版本的软件上执行目前的冒烟测试项目,确定新的程序代码不出故障。
冒烟测试目的是确认软件基本功能正常,冒烟测试的执行者是版本编译人员。
现基本执行对象为测试人员,在正规测试一个新版本之前,投入较少的人力和时间验证基本功能,通过则测试准入。

2、随机测试(Ad-hoc Testing)

随机测试主要是根据测试者的经验对软件进行功能和性能抽查
根据测试说明书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。
随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例(TestCase)没有覆盖到的部分。

3、安全测试(Security Testing)(*)

安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程 。

4、探索性测试(Exploratory testing)

探索性测试可以说是一种测试思维技术。它没有很多实际的测试方法、技术和工具,但是却是所有测试人员都应该掌握的一种测试思维方式。探索性强调测试人员的主观能动性,抛弃繁杂的测试计划和测试用例设计过程,强调在碰到问题时及时改变测试策略
探索性测试自动化暂时无法代替。

5、回归测试(Regression Testing)

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。
在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。通过选择正确的回归测试策略来改进回归测试的效率和有效性是很有意义的。

6、α测试(Alpha Testing)(*)

α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。α测试的目的是评价软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。
大型通用软件,在正式发布前,通常需要执行Alpha和Beta测试。α测试不能由程序员或测试员完成。

7、β测试(Beta Testing)(*)

Beta测试是一种验收测试。Beta测试由软件的最终用户们在一个或多个客房场所进行。
α测试与Beta测试的区别:测试的场所不同。Alpha测试是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行的测试。Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。beta测试的环境是不受开发方控制的,用户数量相对比较多,时间不集中。
alpha测试先于beta测试执行。通用的软件产品需要较大规模的beta测试,测试周期比较长。sdf

5、是否执行程序划分
1、静态测试(Static testing)

静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。检查项包含代码风格和规则审核、程序设计和结构的审核、业务逻辑的审核、走查、审查与技术复审手册。
静态质量:度量所依据的标准是ISO9126。在该标准中,软件的质量用以下几个方面来衡量,即功能性(Functionality)、可靠性(Reliability)、可用性(Usability)、有效性(Efficiency)、可维护性(Maintainability)、可移植性(Portability)。

2、动态测试(Dynamic testing)

动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。

四、根据知识点绘制思维导图

思维导图可以系统的展现出软件测试对应的每个模块相关的知识点,比如要理解软件测试的定义就可以找到思维导图中的标准定义和经典定义,能够很快的定位到关键点,能够帮助我们系统的分析问题。
在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 软件测试经验包装模板是指软件测试团队根据项目经验总结出的一种方法或模板,用于规范和提高软件测试的效率和质量。下面是一个简单的软件测试经验包装模板的示例。 1. 测试目标:明确测试的目标,包括功能、性能、安全性等方面。 2. 测试计划:制定详细的测试计划,包括测试范围、测试策略、测试资源和时间安排等。 3. 测试用例设计:根据需求和设计文档,编写详细的测试用例,包括正常情况、边界情况和异常情况。 4. 测试环境搭建:搭建适合的测试环境,包括硬件设备、操作系统、网络环境等。 5. 执行测试:按照测试计划和测试用例执行测试,记录测试结果和问题。 6. 缺陷管理:使用缺陷管理工具记录和跟踪问题,并及时报告给开发团队。 7. 回归测试:对已修复的问题进行再次测试,确保问题的修复效果。 8. 性能测试:根据性能要求进行性能测试,包括负载测试和压力测试等。 9. 安全测试:测试软件的安全性,包括漏洞扫描、权限控制测试等。 10. 测试报告:编写详细的测试报告,包括测试结果、问题统计和建议改进措施等。 11. 结束报告:总结测试经验,提供改进建议,并记录项目中的问题和解决方案。 12. 知识分享:将测试经验进行总结和分享,以提高整个团队的测试能力。 软件测试经验包装模板可以根据具体项目的需求进行调整和优化,但以上模板提供了一个基本的框架,可以帮助测试团队更好地组织和管理测试工作,提高测试效率和质量。 ### 回答2: 软件测试经验包装模板是指将个人在软件测试领域的经验和技能进行整理和概括,以便在求职或升职时展示自己的能力。以下是一个常见的软件测试经验包装模板: 模板名称:软件测试经验包装模板 1. 概述 在这一部分,简要介绍个人的软件测试经验,包括工作年限、所在公司或项目团队的名称和规模等。 2. 软件测试技能 列举自己擅长的软件测试技能,并附上相关的证书或培训经历。例如: - 手动测试:熟悉测试用例编写、测试执行、缺陷管理等流程; - 自动化测试:熟练使用Selenium、Jenkins等工具进行自动化测试; - 性能测试:熟悉性能测试工具如JMeter,并具备性能优化经验; - 安全测试:了解Web应用程序的安全漏洞和常见攻击方法,并具备漏洞扫描和渗透测试技能。 3. 项目经验 详细描述自己参与过的软件测试项目,包括项目名称、所属行业、项目规模和职责。例如: 项目名称:XXX电商平台测试 所属行业:电子商务 项目规模:团队规模10人,项目周期3个月 职责:负责编写测试用例、执行功能和接口测试、管理缺陷。 成果:成功发现和修复了20个缺陷,并提出了7个性能优化建议。 4. 质量管理 介绍个人在质量管理方面的经验,包括对测试流程的改进、质量指标的监控和报告等方面的能力。 5. 团队合作与沟通能力 强调个人在团队合作和沟通方面的能力,如与开发人员、产品经理和项目经理的协作经验,以及解决问题和冲突的能力。 6. 学习与成长 强调对最新测试方法和技术的学习,以及个人对软件测试领域的持续关注和自我提升的能力。 通过这样的软件测试经验包装模板,可以清晰地展示个人的软件测试经验和能力,提升自己在求职或升职时的竞争力。 ### 回答3: 软件测试是保证软件质量的重要环节,而测试经验的包装模板能够帮助团队更好地总结和应用之前的测试经验。下面是一个典型的软件测试经验包装模板的示例: 1. 背景和目标:简要描述测试项目的背景和目标,包括所测试的软件类型和版本,测试的范围和目标。 2. 测试策略和方法:概述测试过程中采用的策略和方法,包括功能测试、性能测试、安全测试等各个方面的测试内容。 3. 测试环境:描述测试所使用的硬件和软件环境,例如操作系统、数据库、网络配置等,以及测试中所需的附加设备和软件。 4. 测试用例设计:介绍测试用例的设计方法和原则,包括需求分析、功能点分析和边界值分析等技术。 5. 测试执行和记录:描述测试执行的过程和方法,包括测试用例的执行和测试结果的记录,以及问题和缺陷的管理和跟踪。 6. 测试评估和报告:总结测试过程中的发现和分析,得出测试结果和评估,并撰写测试报告,向相关利益相关方进行沟通和反馈。 7. 测试经验和教训:总结测试过程中的经验和教训,包括收集测试用例的效率和准确度提高的技巧,以及问题和缺陷的分析和解决方法。 8. 改进措施:根据测试过程的反馈和总结,提出改进措施,以进一步提高测试的质量和效率。 这个模板可以根据具体的测试项目进行灵活修改和调整,以适应不同项目的需求。通过使用此模板,可以有效地总结和应用测试经验,提高测试的质量和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值