软件测试入门(基础了解)

目录

一、软件与软件测试

二、软件测试的分类

三、软件的生命周期SDLC

四、软件的生命周期模型

五、软件测试的工作流程

一、软件与软件测试

软件是计算机系统中的程序和相关文件或文档的总称。

程序+数据+文档

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

二、软件测试的分类

1. 按测试方法分类:

1)黑盒测试:这种测试方法不考虑内部逻辑和代码结构,只关注输入和输出是否符合预期。

2)白盒测试:与黑盒测试相反,白盒测试关注程序内部的逻辑和代码结构。

3)灰盒测试:结合了黑盒和白盒的特点,既关注输出结果,也关注部分内部结构。

2. 按测试方向分类:

1)功能测试:验证软件的功能是否按照需求规格说明书执行。

2)性能测试:评估软件在特定条件下的响应时间、吞吐量等性能指标。

3)安全测试:检查软件的安全性,防止未授权访问和数据泄露。

4)兼容性测试:确保软件能在不同的硬件、操作系统、网络环境等中正常运行。

3. 按开发阶段分类:

1)单元测试:由开发人员编写,针对软件中的最小可测试单元进行测试。

2)集成测试:在单元测试的基础上,测试多个单元组合在一起是否能正常工作。

3)系统测试:在整个系统集成完成后进行的全面测试。

4)验收测试:用户参与的测试,验证软件是否满足业务需求。

4.按测试状态分类:

1)静态测试:不运行程序,通过分析代码、设计文档等来发现错误。

2)动态测试:运行程序,根据程序的行为来发现错误。

5. 按其他因素分类:

1)自动化测试:使用工具自动执行测试用例,提高测试效率和重复性。

2)敏捷测试:在敏捷开发过程中,测试与开发同步进行,快速迭代。

三、软件的生命周期SDLC

软件的生命周期(SDLC)是软件从产生到最终被废弃的整个过程。

通常包括以下几个阶段:

1、问题定义及规划:

主要确定软件开发的目的及其可行性。制定总体开发计划。

2、需求分析:

在软件开发可行性的情况下,对软件需求实现的哥哥功能进行详细分析,明确客户的需求,输出需求规格说明书(原型图),提交评审。

3、设计:

把需求分析得到的结果转换为软件结构和数据结构,形成系统架构。

概要设计:主要是架构的实现,指搭建架构、表述模块功能、模块接口连接数据传递的实现等事物。

详细设计:对概要设计中的表述进行深入分析等,其中需要包括数据库设计说明。

4、编码:

按照详细设计好的模块功能表,编程人员编写出计算机可运行的程序代码。

5、调试和测试:

在代码完成后,需要通过调试和测试来发现并修复错误,确保软件的质量。

6、验收与运行:

软件完成测试后,用户或客户进行验收,之后软件被部署到生产环境中运行。

7、维护升级:

软件在使用过程中可能会出现问题或者需要更新以满足新的需求,因此需要定期进行维护和升级。

包括计划阶段、分析阶段、实现阶段、测试阶段和运行维护阶段。

四、软件的生命周期模型

一、瀑布模型

瀑布模型是一种经典的软件开发生命周期模型,它的核心思想是将软件开发过程分为一系列严格的阶段,每个阶段完成后才能进入下一个阶段。这些阶段通常包括需求分析、设计、实现、测试、部署和维护。

瀑布模型的特点和优缺点如下:

1. 特点:

   1)阶段性:开发过程被划分为几个连续的阶段,每个阶段有明确的任务和输出。

   2)顺序性:一个阶段的输出是下一个阶段的输入,过程是线性的,不可迭代。

   3)文档驱动:强调文档的作用,每个阶段都需要详细的文档记录。

2. 优点:

  1)结构清晰:由于其阶段性,使得项目管理相对简单,易于理解和组织。

  2)明确分工:每个阶段的任务和责任分明,便于团队成员了解自己的角色和职责。

3. 缺点:

   1)灵活性差:一旦进入下一阶段,返回上一个阶段进行修改会变得复杂和成本高昂。

   2)风险高:由于需求的不确定性,项目后期可能会出现较大的变动,导致项目失败。

   3)反馈延迟:用户直到测试阶段才能看到产品的实际效果,这可能导致需求与最终产品不匹配。

二、V模型

V模型是一种软件开发过程模型,它强调在软件开发周期的每个阶段中进行测试和验证。

V模型的特点在于其结构形状类似于字母“V”,它明确了开发过程中不同阶段的对应关系,特别是在编码和测试阶段之间。

  • 阶段划分:V模型将软件开发分为多个阶段,包括需求分析、系统设计、编码、单元测试、集成测试和系统测试等。
  • 对应关系:每个开发阶段都有一个相对应的测试阶段。例如,单元测试对应详细设计阶段,集成测试对应概要设计阶段,系统测试对应用户需求分析阶段。
  • 测试重要性:V模型特别强调测试的重要性,确保在软件开发的每个阶段都有相应的测试活动来验证产品的质量。
  • 优缺点:V模型的优点在于它提供了清晰的测试阶段和开发阶段的对应关系,有助于团队理解何时进行何种测试。然而,它的缺点是过于严格,可能导致在快速变化的项目中不够灵活。
  • 适用范围:V模型适用于那些需求明确且变化不大的项目。对于那些需要快速迭代和灵活性的项目,可能需要结合其他敏捷开发方法来弥补V模型的不足。

在实际使用V模型时,需要注意以下几点:

  • 确保每个阶段的输出都经过严格的验证和测试。
  • 考虑到V模型的严格性,可以适当结合敏捷开发方法以提高灵活性。
  • 对于需求的变更要有充分的准备,以便及时调整测试计划。

三、敏捷开发模型

敏捷开发模型是一种以用户需求为核心,通过迭代和增量的方式进行软件开发的方法。它强调快速反应、快速迭代和价值驱动,以提高产品的开发效率和适应性。

敏捷开发模型的关键特点包括:

1)用户需求为核心:敏捷开发模型关注用户需求的进化,确保软件项目能够及时响应市场和用户的变化。

2)迭代和循序渐进:软件项目被切分成多个子项目,每个子项目的成果都经过测试,并且具备可视、可集成和可运行使用的特征。

3)快速反应和迭代:敏捷开发模型鼓励团队快速响应变化,通过短周期的迭代来不断完善产品。

4)价值驱动:敏捷开发模型强调价值最大化,优先解决对用户最重要的功能需求。

敏捷开发模型的流程通常包括以下几个步骤:

1)目标制定:通过市场调研、业务思路和风险评估来制定公司规划和目标。

2)目标拆解:将公司目标拆解到各个部门,确保每个部门的目标与公司整体目标一致。

3)产品规划:根据目标拆解的结果进行产品规划,确定每个迭代周期内需要完成的功能和任务。

五、软件测试的工作流程

1、测试计划:

测试计划是一份详细描述测试目标、方法、资源和时间表的文档,它为软件测试提供了指导和规划。(测试内容、哪些人、任务分配、测试环境、工具、时间安排)

统筹工作安排——测试负责人/主管/组长

2、测试用例

测试用例(Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。

3、软件在什么情况下可以发布

剩余BUG数量很少+用例执行覆盖率

4、发布流程

开发打包  ——>运维/运营/开发 ——>部署到生产环境    (实现了发布上线)

开发环境:开发人员写代码的环境

测试环境:测试人员进行测试环境(一个或者一个以上)

预发布环境(UAT环境):验收测试(UAT)进行的环境

生产环境:真实用户使用环境

  • 20
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值