软件测试(黑盒白盒)

软件=程序+数据库+文档+服务软件测试:使用人工或自动手段来运行或测试某个系统的过程,目的在于检验其是否满足规定的需要,或是弄清楚预期结果与实际结果之间的差别软件测试目的:以最小的人力物力和时间找出软件中潜在的错误和缺陷。测试的基本要求:外观界面测试 易用测试 兼容性测试 安全性测试 性能测试 功能测试软件测试的原则:1.尽早地和及时地进行测试,从需求阶段开始介入软件测试应贯穿软件生命周期2.测试前应当准备好测试数据和与之对应的预期结果两部分3.测试输出数据应包括合理的输
摘要由CSDN通过智能技术生成

软件=程序+数据库+文档+服务

软件测试

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

软件测试目的:以最小的人力物力和时间找出软件中潜在的错误和缺陷

测试的基本要求:外观界面测试 易用测试 兼容性测试 安全性测试 性能测试 功能测试

软件测试的原则:

1.尽早地和及时地进行测试,从需求阶段开始介入

软件测试应贯穿软件生命周期

2.测试前应当准备好测试数据和与之对应的预期结果两部分

3.测试输出数据应包括合理的输入条件和不合理的输出条件

4.严格执行测试计划,排除测试的随意性

5.测试用例的所有相关预期结果做全面的检查

6.充分注意测试当中的群集现象

7.保存测试计划,测试用例,出错统计和最终分析报告,为维护工作提供充分的资料

8.缺陷具有免疫性(修改3~4个缺陷,一般都会再产生一个缺陷)

为什么进行软件测试:

提高软件质量    确保软件满足需求

软件测试的发展历程

第一阶段:初始阶段   第二阶段:定义阶段

第三阶段:集成阶段(软件开发方式逐渐由混乱无序的开发过程过渡到结构化的开发过程)  

第四阶段:管理测量和最佳化阶段

测试环境搭建的原则真实,干净,无毒,独立

软件测试的三种模式:现场测试模式,内部测试模式,设立联合研发中心模式

测试用例设计的基本原则:数量越少越好,典型性越高越好,对缺陷的定位性越强越好

软件测试分类

从是否关心内部结构角度:黑盒测试、白盒测试

从是否运行被测程序角度:静态测试、动态测试

从执行时是否需要人工干预角度:人工测试、自动化测试

软件开发的过程的角度:单元测试,集成测试,系统测试,验收测试

从测试实施组织的角度划分:开发方测试,用户测试,第三方测试

自动化测试适用场合

回归测试 更多更频繁的测试  跨平台的测试  手工测试无法实现的工作  测试过程和验证点比较稳定

不适用场合

随机性测试 时间短/一次性的项目 需求变化多的项目,软件版本不稳定  涉及与物理设备交互的测试

软件开发模型:软件开发的全部过程活动任务管理的结构框架。它给出了软件开发活动各阶段之间的关系

2.1软件开发生命周期模型(大爆炸模式,边写边改模式,瀑布模型,螺旋模型,敏捷模型)

  1. 大爆炸模式

优点:思路简单,通常可能是开发者的突发奇想

缺点:开发过程是非工程化的,随意性大,结果不可预知

测试:开发任务完成后,修复较困难

  1. 边写边改模式

优点:简单考虑到了软件的需求,产品周期短

缺点:没有计划和文档的编制

测试工作:由于新的版本不断产生,测试工作长期循环

  1. 瀑布模型

需求分析—概要设计—详细设计—编码—测试—上线运行及维护

优点:如同瀑布流水,逐级下落——样式;将软件生存周期各活动规定为依线性顺序联接的若干阶段的模型;易理解,阶段明显,强调需求分析,明确测试阶段,提供了一套模板;文档驱动

缺点:风险大;灵活性差;适应性差;代价大

适合场景:功能、性能明确完整;需求固定,无重大变动

4.螺旋模型

五个步骤:确定目标,选择方案;评估方案,解决风险;本阶段的开发和测试;计划下一阶段;确定下阶段方法;

优点:严格的全过程风险管理;强调各开发阶段的质量;提供机会评估项目是否有价值继续下去。

缺点:很难让用户确信这种演化方法的结果是可以控制的.经常出现无法满足客户需求的情况

5.敏捷模型

用户的需求进化为核心,采用迭代循序渐进的方法进行软件开发

2.2软件测试过程模型(V模型,W模型,X模型,H模型)

  1. V模型

特点动态测试行为应与开发行为对应,每个测试阶段的基础是对应开发阶段的提交物,并通过低层测试确保源代码正确,通过高层测试保证整个系统满足用户需求

局限性:测试滞后,缺少静态测试

  1. W模型

特征静态测试和动态测试行为伴随整个开发阶段,并与开发行为对应,有助于早期发现缺陷、了解项目难度、评估测试风险,并加快项目进度,降低项目成本

W模型局限性:将软件开发看成需求分析、设计和编码等一系列串行的活动;开发、测试之间保持着线性的前后关系,无法支持迭代的开发模型,无法支持变更调整;未体现测试流程的完整性

  1. H模型

测试流程应独立于其他流程,且应保持自身的完整性,即测试是一个独立的流程,与其他流程并发进行,且其本身的测试准备和执行活动是分离的,不同测试活动可按某个次序先后进行,也可能是重复的,只要测试准备工作完成,就可以开始测试执行

  1. X模型

清晰地体现了单元测试→集成测试→系统测试的过程,该模型还能处理开发中包括交接、频繁重复的集成等工作,更加贴合实际的项目开发流程

综合策略

宏观上以W模型为基本框架,将软件开发和测试作为两个并行的过程,测试伴随整个开发过程

微观上对每个测试阶段则以H模型为指导,进行独立测试,即只要满足测试执行条件就可以进行独立的测试,并反复迭代测试,直至达到预定目标

当项目小组的开发过程中存在诸多不确定因素时(如需求的变更、对缺陷的修复等),则可利用X模型,针对每个相对独立的系统组成部分,进行相互分离的编码和测试,经多次交接后集成为最终的版本

对于软件企业而言,则应以软件测试成熟度模型(TMM)为指导,努力建立规范的软件测试过程

2.3软件测试流程

软件测试计划:在软件测试工作正式实施之前明确测试的对象,并且通过对资源、时间、风险、测试范围和预算等方面的综合分析和规划,保证有效的实施软件测试

测试用例为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果等信息的一个特定集合

搭建测试环境:环境分为:开发环境,测试环境,正式环境

3.1黑盒测试——等价类划分

黑盒测试,又称为功能测试数据驱动测试

黑盒测试的优势:方法简单有效;可以整体测试系统的行为;开发与测试可以并行;对测试人员要求相对低

等价类划分法产生的原因:对系统进行穷尽测试是不可能的;使用有限的数据对系统进行测试是可能的;我们可以选择少量测试用例来测试系统,并满足测试是完备的;测试是没有冗余的

等价类测试依据需求对输入域/输出域进行细分,然后在分出的每一个子集内选取一个有代表性的测试数据开展测试

等价类划分的原理:分而不交、合而不变、类内等价

有效等价类对于SRS而言,合理、有意义的输入数据构成的集合,即被测对象能接受的数据,用于考查软件的正常工作能力

无效等价类对于SRS而言,不合理、无意义的输入数据构成的集合,即被测对象不能接受的数据,用于考查软件的容错能力

  • 等价类划分的原则

若输入条件规定了取值范围,且取值范围上、下限之间的数据是有意义的数据,则取值范围内的数据构成一个有效等价类,小于下限、或大于上限的所有数据分别构成两个无效等价类;

若输入条件规定了“必须如何”的条件,则满足必须条件的数据构成一个有效等价类,其他数据构成一个无效等价类;

若输入条件是一个逻辑量,即规定了输入数据的一组值,且系统要对每个输入值分别进行处理,则可为每一个输入值确立一个有效等价类,此外还要针对这组值确立一个无效等价类,它是所有不允许的输入值的集合

用户需求规定必须遵守某种规则时,可规定一个有效等价类及若干个不同角度违反规则的无效等价类

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件测试中,黑盒测试白盒测试是两种不同的测试方法,具体介绍如下: 黑盒测试:在黑盒测试中,测试人员只关注软件的输入和输出,不考虑内部实现细节。测试人员根据软件规格说明或需求文档,设计测试用例并运行测试用例,检查软件是否按照需求规格说明的要求正确地输出结果。黑盒测试的例子包括功能测试、性能测试、安全测试等。 白盒测试:在白盒测试中,测试人员需要了解软件内部的实现细节,包括程序的代码结构、控制流程、变量定义等。测试人员设计测试用例并运行测试用例,检查软件是否按照预期的逻辑执行。白盒测试的例子包括单元测试、集成测试、系统测试等。 举例来说,一个购物网站的黑盒测试可以包括以下几个方面: 1. 功能测试:例如,测试用户能否成功注册、登录、添加商品到购物车、下单等功能。 2. 性能测试:例如,测试网站在高并发情况下能否正常运行,响应时间是否满足要求。 3. 安全测试:例如,测试网站是否存在SQL注入、XSS攻击等安全漏洞。 一个购物网站的白盒测试可以包括以下几个方面: 1. 单元测试:例如,测试购物车功能的代码是否能够正确地添加商品、删除商品等。 2. 集成测试:例如,测试不同模块之间的接口是否正确、数据传输是否正常。 3. 系统测试:例如,测试整个购物网站是否符合规格说明的要求、逻辑是否正确。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值