软件测试基础知识

众所周知,测试基础是软件测试最重要的部分,不管做什么测试,基础和理论知识是必须学会的。

作为一个测试小白来说,不可能一下子就精通测试,如果把学习一项技能当做一个考试的话,我们把成绩分为三个档:60分(入门),80分(精通),无限接近100分(专家)。

60分就是我们的第一个目标,如何入门,根据一万小时定律,从0到60分需要一千小时,大概一两周的时间。如何达到60分:大量输入。找到身边的大神向他请教,看《软件测试》这本书。

以下是我整理的软件测试的基础知识:

1.软件测试的定义

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

2.软件测试的分类

1.是否关心内部结构:黑盒测试、白盒测试、灰盒测试

黑盒测试技术是通过软件的外部表现来发现其错误和缺陷。这是在已知产品需求的情况下,通过测试来检验是否都能被满足的测试方法。对于软件测试而言,黑盒测试技术把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程

白盒测试技术是通过对程序内部结构的分析、检测来寻找问题。如果已知产品的内部活动方式,就可以通过白盒测试技术来测试它的内部活动是否都符合设计要求,对软件的实现细节做细致的检查。

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

2.是否执行程序:静态测试、动态测试

静态测试:指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。静态测试一般是指文档测试,不执行代码。如:文档评审,代码走查。

动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。动态测试就是通过运行程序完成的测试。包括上述提到的黑/白/灰盒测试。

3.按照测试阶段:单元测试、集成测试、系统测试、验收测试

单元测试:又称模块测试,是针对软件设计的最小单位----程序模块或功能模块,进行正确性检验的测试工作。其目的在于检验程序各模块是否存在各种差错,是否能正确地实现了其功能,满足其性能和接口要求。

集成测试:又叫组装测试或联合,是单元测试的多级扩展,是在单元测试的基础上进行的一种有序测试。旨在检验软件单元之间的接口关系,以期望通过测试发现各软件单元接口之间存在的问题,最终把经过测试的单元组成符合设计要求的软件。

系统测试:是为判断系统是否符合要求而对集成的软、硬件系统进行的测试活动、它是将已经集成好的软件系统,作为基于整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、人员、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试

验收测试:又称交付测试,是软件在完成了单元测试、集成测试、系统测试之后,产品发布之前进行的软件测试活动。

4.按照测试手段:手工测试、自动化测试

手工测试顾名思义就是人工执行测试。

自动化测试就是通过脚本或代码驱动工具代替手工执行测试。

3.软件的生命周期

定义:软件从产生到报废的生命周期。
生命周期包括: 测试计划 → 测试设计 → 测试开发 → 测试执行 → 测试评估

4.软件测试和软件开发的关系

软件开发是生产和制造软件;软件测试是验证开发出来的软件的质量。二者的关系是:

1、没有软件开发也就没有测试,软件开发为软件测试提供对象。

2、软件开发和软件测试都作为软件生命周期的重要组成部分

3、软件开发和软件测试都是软件过程之中的重要活动。

4、软件测试是保证软件开发的产物质量的重要手段。

5.软件测试流程

  1. 需求评审:由项目经理、开发人员、测试人员、需求人员共同进行的对软件需求文档的评审,评审内容主要包括:“需求规格说明书”的内容是否完善,是否有描叙不清楚的地方或者有冲突,需求是否可以支持系统目标的实现,是否有无法实现的功能等。项目经理根据开发人员、测试人员、需求人员意见完成项目计划。

  2. 需求分析:是开发人员根据需求文档完成需求分析文档,测试人员参与评审,评审的内容主要是看是否有遗漏或双方理解不一样的地方,测试人员要熟读需求,要多与开发、架构等多方多交流,深入了解需求。需求分析这一过程是主要确定系统必须完成哪些工作,对目标系统提出完整、准确、清晰具体的要求。

  3. 测试计划:测试计划一般由测试经理编写,根据需求估算测试所需资源(人力,设备等)、所需时间、功能点划分、如何合理分配安排资源。晰具体的要求。

  4. 用例设计:根据测试计划,修改好的需求分析文档开始写测试用例,同时开发人员完成概要设计文档和详细设计文档。测试人员根据这两份文档补充测试用例。

  5. 测试环境:测试人员搭建测试环境

  6. 执行测试:开发人员提交第一个版本,如果存在未完成的功能,开发需跟测试人员说明,然后测试人员根据测试用例的详细步骤,执行测试用例,发现BUG提交缺陷库。

  7. BUG跟踪:开发人员提交第二个版本,包括修改的BUG以及增加的部分功能,测试人员进行第二轮测试和回归测试,跟踪BUG直到关闭。重复上面的工作,一般情况下3-4个版本后BUG数量减少。

  8. 测试报告:通过不断测试,BUG跟踪,直到用例全部测试,覆盖率、缺陷率以及其他各项指标达到质量标准,即达到上线要求。(如果有客户反馈问题,需要测试人员协助重现和回归测试)。软件测试流程是一个不断提高的过程,每个公司的流程都是不一样的,根据实际情况还可以实施一些测试计划评审、用例评审、测试培训等。在实际测试过程中也要做到具体问题具体分析,具体解决.

6.软件测试各个阶段的输入和输出

表格 http://www.51testing.com/html/35/60535-20028.html

7.bug的生命周期

BUG初始状态(Unconfirmed&New态)

BUG分配状态(Assigned态)

BUG重新分配状态(Reassigned态)

BUG修复状态(Resolved&Fixed态)

BUG验证状态(Vertified&Fixed态)

BUG重新打开状态(Reopen态)

BUG关闭状态(Closed&Fixed态)

这个文章更生动 https://blog.csdn.net/qq_34651940/article/details/51817563


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值