【软件测试】基础知识整理

边界值的取值

边界值分析的基本思想是使用在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值,记为:min、min+、nom、max-、max考虑到健壮性测试,还可以加一个略大于最大值max+,以及一个略小于最小值min-的值。

性能测试、压力测试、负载测试的关系

  • 性能测试是正常情况下的性能指标;
  • 压力测试是测试系统的瓶颈所在;
  • 负载测试是指系统重负荷性能指标;
  • 性能测试、压力测试、负载测试在广义上讲都是性能测试的内容,建议将三种测试结合起来并行进行。
  • 性能测试的关键指标是时间。

压力测试和负载测试的区别

  • 负载测试:是通过逐步增加系统负载,测试系统性能的变化,并在满足最终确定性能指标的情况下,系统所能承受的最大负载量的测试
  • 压力测试:逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载下系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试

白盒测试

  • 白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、 逻辑覆盖法、基本路径测试法、 域测试 、符号测试、 路径覆盖和程序变异。
  • 白盒测试法的覆盖标准有逻辑覆盖 、循环覆盖和基本路径测试。

逻辑覆盖标准

逻辑测试覆盖是白盒测试法常用的技术。主要的覆盖标准有6种,强度由弱到强依次是:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。

 基本逻辑覆盖的执行要求

  • 语句覆盖是最起码的结构覆盖要求,语句覆盖要求设计足够多的测试用例,使得程序中每条语句至少被执行一次。
  • 判定覆盖又称为分支覆盖,它要求设计足够多的测试用例,使得程序中每个判定至少有一次为真值,有一次为假值,即:程序中的每个分支至少执行一次。每个判断的取真、取假至少执行一次。
  • 条件覆盖要求设计足够多的测试用例,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一次为真值,有一次为假值。
  • 判定/条件覆盖要求设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次。
  • 组合覆盖要求设计足够多的测试用例,使得每个判定中条件结果的所有可能组合至少出现一次。
  • 路径覆盖设计足够的测试用例,覆盖程序中所有可能的路径。

测试用例的构成

测试用例( Test Case )是为测试设计的数据,由测试输入数据和与之对应的预期输出结构两部分组成。

程序调试和程序测试的区别

程序调试的任务是诊断和改正程序中的错误。

程序测试的任务是设计测试用例,尽可能多的查找出程序中的错误。

各阶段测试用例设计的依据

  • 单元测试的测试用例主要根据详细设计的结果来设计。
  • 集成测试的测试用例主要依据概要设计的结果来设计。
  • 确认与系统测试的测试用例主要依据需求分析和系统设计的结果来设计。
  • 验收测试的测试用例主要依据用户需求的结果来设计。

____________________________ 一条可爱的分割线______________________________

  • 单元测试又称为模块测试,是针对软件设计的最小单位程序模块进行正确性检查的测试工作,单元测试需要从程序内部结构出发设计测试用例,多个模块可以平行地独立进行单元测试。
  • 集成测试又称为组装测试或联合测试,在单元测试的基础上,需要将所有模块按照概要设计说明书和详细设计说明书的要求进行组装。确认测试.
  • 确认测试的目标是验证软件的功能和性能以及其他特性是否与用户的要求一致。确认测试一般包括有效性测试和软件配置复查。一般有第三方测试机构进行。
  • 系统测试是指在实际或模拟环境下,对计算机系统进行测试,目的在于与系统需求比较,发现问题
  • 验收测试是以用户为主的测试,软件开发人员和质量保证人员参加,由用户设计测试用例不是对系统进行全覆盖测试,而是对核心业务流程进行测试。

 集成测试

  • 增量式集成是逐步集成和逐步测试的方法,在集成的过程中边连接边测试,以发现连接过程中产生的问题。
  • 非增量式集成是在对每个单元进行充分测试后、将所有单元全部集成起来,一次性地进行集成测试。
  • 自顶向下集成:按深度优先越广度优先策略,对各个模块一边组装一边进行测试。
  • 自底向上集成:从系统层次结构图的最底层模块开始进行组装和测试的方式。
  • 三明治式集成:综合自顶向下和自底向上。

软件测试的基本标准

  • 所有的测试都应追溯到用户需求。
  • 应当把“尽早地和不断地进行软件测试”作为座右铭。
  • pareto原则:测试发现的错误中80%很可能起源于20%的模块中。
  • 完全测试是不可能的,测试需要终止。
  • 应由独立的第三方来构造测试。
  • 充分注意测试中的群集现象。
  • 尽量避免测试的随意性。
  • 兼顾合理的输入和不合理的输入数据。
  • 程序修改后要回归测试。
  • 应长期保留用例,直至系统废弃。

测试人员的分工

测试经理:制定测试计划

测试设计人员:设计测试用例、设计测试过程和脚本、执行测试

测试经理和开发人员:评估测试活动

静态分析和动态分析

动态分析:代码运行结束后。模块功能检查和系统压力测试,必须执行代码后才能分析。

静态分析:代码运行之前。数据流分析和代码覆盖率,不需要执行代码就可分析。

暂时先整理这些,这些都是我做过一些题目后整理的知识点。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二琳爱吃肉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值