测试基本概念

测试等级

单元测试
集成测试
系统测试
验收测试
各部分测试内容见下图

Static vs. Dynamic testing

静态测试:用眼睛看,评审、走查、检查等
动态测试:使用测试用例集进行测试

测试套件

每个测试集的目标和说明
测试运行的配置说明
使用这些测试的前置条件

单元测试(unit test)

含义:针对软件的 最小单元模型开展测试,隔离各个模块,容易定位错误和调试
单元测试需要考虑的问题:模块接口、本地数据结构 、保证模块中的所有语句都被测试覆盖到、测试边界条件

junit使用

使用入门,点这里

覆盖度分析

含义

字面意思

测试内容

函数覆盖、语句覆盖、分支覆盖、条件覆盖、路径覆盖

测试效果和难度

测试效果:路径覆盖 > 分支覆盖 > 语句覆盖
测试难度:路径覆盖 > 分支覆盖 > 语句覆盖

代码覆盖度测试工具

EclEmma,点这里

黑盒测试 vs. 白盒测试

白盒测试

定义

对程序内部代码结构的测试
根据程序的执行路径进行设计测试
白盒测试一般比较早进行

构造测试用例的方法

确保模块中所有独立路径至少被执行过一次
关于结果进行逻辑判断
在大多数情况下,循环执行少数此就可以了
在边界条件下,一定要执行所有的循环
测试内部数据结构

黑盒测试

定义

对程序外部表现出来的行为的测试

测试目的

不正确的或者是遗失的功能
接口错误
数据结构或者是外部数据库访问的错误
行为或者性能错误
初始化或者终止错误

构造测试用例的标准

测试用例来自于外部的对软件的描述
佣金坑鞥少的测试用例,尽快运行,并尽可能大的发现程序的错误

构造测试用例的方法
  1. 等价类划分
    将被测函数的输入域划分为等价类,从等价类中导出测试用例
    针对每个输入数据需要满足的约束条件,划分等价类(自反、传递、对称)
  2. 边界值分析
    大量的错误发生在边界而不是中央
    这是对等价划分方法的一个补充,将边界作为等价类之一进行考虑
    通常边界值的左右也是需要进行考虑的
  3. 两种比较极端的情况
    笛卡尔积,全覆盖策略:多个划分维度上的多个取值,要组合起来,每个组合要有一个测试用例(测试代价高)
    Cover each part 策略:每个维度上的每个取值,只要被覆盖过一次即可(测试代价低)

集成测试(integration testing)

测试的内容是多个模块之间的协作和整个程序

回归测试(regression testing)

一旦程序被修改,重新执行之前的所有测试
一旦发现bug,立即编写一个可重现此bug的测试用例,并将其加入测试库

记录测试策略

在代码评审过程中,其让人可以理解你的测试,并评判你的测试是否充分
欢迎关注公众号BBIT
让我们共同学习共同进步!

HIT软件构造 软件测试 测试优先的编程相关推荐

  1. HIT 软件构造期末复习二 软件测试与测试优先的编程

    文章目录 1.软件测试 2.测试用例 3.测试优先的编程 4. Unit Testing 单元测试 5. JUnit 自动测试单元 6.黑盒测试 6.1 等价类划分 6.2 边界分析 7.白盒测试 8 ...

  2. 6-5 软件测试与测试优先的编程

    本节目标: 本节大纲: 1.软件测试 软件测试是提高软件质量的主要手段,能够确定软件是否达到可用级别,评估系统的某一侧面的质量特性. 测试的目标是证明软件存在错误,但再好的测试也无法证明系统不存在错误 ...

  3. HIT软件构造Lab1--过程分析

    HIT 软件构造Lab1–过程分析 由于实验中要求代码必须是个人完成,所以这里仅提供方法和部分代码. 文章目录 HIT 软件构造Lab1--过程分析 1 实验目标概述 2 实验环境配置 3.1 Mag ...

  4. HIT 软件构造 Lab1

    2022年春季学期 计算学部<软件构造>课程 Lab 1实验报告 姓名 艾浩林 学号 120L021917 班号 2003006 电子邮件 2017869860@qq.com 手机号码 1 ...

  5. HIT 软件构造 lab3实验报告

    2020年春季学期 计算机学院<软件构造>课程 Lab 3实验报告 姓名 赵旭东 学号 1180300223 班号 1803002 电子邮件 1264887178@qq.com 手机号码 ...

  6. HIT软件构造lab1

    目录 1 实验目标概述 1 2 实验环境配置 1 3 实验过程 1 3.1 Magic Squares 1 3.1.1 isLegalMagicSquare() 1 3.1.2 generateMag ...

  7. HIT 软件构造 lab2实验报告

    2020年春季学期 计算机学院<软件构造>课程 Lab 2实验报告 学号 1180300223 班号 1803002 目录 1 实验目标概述 1 2 实验环境配置 1 3 实验过程 1 3 ...

  8. 哈尔滨工业大学hit软件构造实验lab1

    文章目录 1 实验目标概述 2 实验环境配置 3 实验过程 3.1 Magic Squares 3.1.1 isLegalMagicSquare() 3.1.2 generateMagicSquare ...

  9. HIT 软件构造LAB2

    2022年春季学期 计算学部<软件构造>课程 Lab 2实验报告 姓名 薄文 学号 120L020513 班号 2003004 电子邮件 604094538@qq.com 手机号码 181 ...

最新文章

  1. Android 抽屉效果的导航菜单实现
  2. 【计算几何】多边形点集排序
  3. ASP.NET Core中的OWASP Top 10 十大风险-SQL注入
  4. 【Linux】linux下查看目录所在分区
  5. 进程/线程间的同步方式
  6. java border边框_简单实用的css边框属性border
  7. Lucene实践之Query
  8. JAVA 实现《warcraft java版》游戏
  9. Java 拾遗补阙 ----- 继承私有属性
  10. 博主的EMNLP2021合作工作已公开:TransPrompt——基于Prompt和迁移学习的小样本文本分类,欢迎阅读与引用
  11. mysql统计出每个姓氏的人数_Python 之 MySql 每日一练 130——同名同性学生名单,并统计人数...
  12. 斐波那契数列类 python实现
  13. 【历史上的今天】2 月 15 日:Pascal 之父出生;YouTube 成立;Kotlin 语言问世
  14. 方正ES2007快速开发平台 Java版本
  15. 2020.10.23--AI--小熊制作、太极制作、微信图标制作
  16. json stm8s103 解析_基于STM8的ADC读取---STM8-第四章
  17. 一, Habse 概述,安装和快速上手
  18. 项目管理——如何做好跨部门沟通
  19. lodop页面直接打印 水印 分页 套打
  20. Ubuntu 磁盘扩容(有图、亲测)

热门文章

  1. java的renameTo函数的两个用法,这个看不懂算我输
  2. Nodepad++安装和使用教程【看码写码神器】
  3. 第七章 输入与输出 ——python导引编译之八
  4. Office2010安装流程
  5. Android距离感应器P-Sensor浅析
  6. 基于java8的捕鱼达人小游戏
  7. PAGER set to stdout_今早10点有好货,to*my原单男士两面穿棉衣,碧入优衣库原单格子衬衫,C*加厚大毛领毛呢大衣,L*E原单童装卫裤,三*原单马甲...
  8. 华为OD机试真题:欢乐的周末
  9. windows7系统下派克斯(PacketiX)产品使用教程
  10. 时针 分针 一天内重合问题