| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 精读-软件测试的艺术之模块测试及更高级别的测试 -> 正文阅读 |
|
[开发测试]精读-软件测试的艺术之模块测试及更高级别的测试 |
本文是关于精读书籍《软件测试的艺术》的一些学习笔记和分享 本书共有九章包括测试思想(心理,经济),代码检查,测试用例设计,模块测试,更高级别的测试,调试,极限测试和因特尔应用系统的测试。 本文主要介绍了一些介绍了一些模块测试和一些更高级别的测试,并结合《软件测试》这本书对这两方面进行补充。 模块(单元)测试模块测试的目的是将模块的功能与定义模块的功能过个说明或接口规格进行说明比较。 测试用例的设计方式模块测试总体上是面向白盒测试的。具体的白盒测试方法已经在上一章节进行了讨论。在模块测试中主要需要模块的规格说明和模块的源代码。
增量(集成)测试及集成的顺序非增量测试:先独立的测试每一个模块,然后再将这些模块组装成完整的程序 增量测试:将下一步要进行测试的模块组装到测试完成的模块集合中,然后在进行测试 对比:
对比之后,基于计算机行业当前的趋势(硬件成本已经降低而且势必持续下去,硬件成功会不断增加,而人力成本和软件错误的的代价在不断增长),所以错误发现得越早,改正它的成本就越低。进而我们可以得到结论,增量测试要更好一点。 驱动模块是用来模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果。 桩模块是指模拟被测试的模块所调用的模块,而不是软件产品的组成的部分。 自顶向下测试自顶向下的测试是从程序的顶部或初始模块开始。自顶向下测试包含两种测试策略,分别是深度优先和广度优先。 广度优先: 测试顺序:A,B,C,D,E,F,G,H,I,J,K,L 深度优先: ?测试顺序:A,B,E,F,J,C,G,K,D,H,L,I 总体的测试策略就是:
自底向上测试自底向上的策略开始于程序中的终端模块,是从系统层次结构图的最底层模块开始进行组装和集成测试的方式。对于某一个层次的特定模块,因为它的子模块(包括子模块的所有下属模块)已经组装并测试完成,所以不再需要桩模块。在测试过程中,如果想要从子模块得到信息可以通过直接运行子模块得到。 同样的如果我们可以将上面的图进行分解,找到相应的桩模块 对比:
我们可以发现,无论是自顶向下还是自底向上都会各自的优缺点,所以有这一种“三明治”集成测试的方式可以分别利用这两种测试方法的有点。“三明治”集成测试通过分层将各自分层的部分可以分别采用自顶向下和自底向上的方法。 对执行模块测试的建议当测试用例造成模块输出的实际结果与预期结果不匹配的情况时,存在两种可能的解释。要么是测试用例不正确,要么是模块存在错误。为了避免这样的混乱,我们在执行测试之前,应对测试用例集进行审核和检查。 使用自动化测试工具可以使测试过程中的枯燥劳动减至最低。 更高级别的测试在更高级测试中,主要讨论了功能测试,系统测试,验收测试和安装测试。 功能测试功能测试就是一个试图发现程序与其外部规格说明之间存在不一致的过程。这里外部规格说明就是一份从最终用户的角度对程序行为的精确描述。 功能测试通常是黑盒测试,所以在黑盒测试方法中等价类划分,边界值分析,因果图分析法和错误猜测的方法都很适用于功能测试。 系统测试系统测试主要包括能力测试,容量测试,强度测试,易用性测试,安全性测试,存储测试,配置测试。兼容性/配置/转换测试,安装测试,可靠性测试,可恢复性测试,适用性测试,文档测试,过程测试等 1.能力测试判断目标文档提及的每一项能力是否都确实得到实现。过程就是逐条语句地检查目标文档。此类测试常常可以在不适用计算机的情况下进行。 2.容量测试使程序经受大容量数据的检验。由于容量测试显然需要大量的资源,鉴于对机器和工时考虑,不可进行过多的容量测试。 3.强度测试(压力测试)强度测试就是使程序承受高负载或强度的检验。高强度是指在很短的时间间隔内达到的数据或操作峰值。强度测试适用于在可变负载下运行的程序,例如对于一些Web的并发量测试。 4.易用性测试
5.安全性测试安全性测试是设计测试用例来突破程序安全检查的过程。 6.性能测试描述为在特定负载和配置环境下程序的响应时间和吞吐率。注:设计测试用例来说明程序不能满足其性能标准 7.存储测试描述程序使用的内存和辅存的容量以及临时文件或溢出文件的大小。同样,设计测试用例来证明这些存储目标没有得到满足 8.配置测试一些配置的因素比如操作系统,数据库管理系统和信息交换系统等都支持多种硬件配置,包括不同类型和数量的I/O设备和通信线路,或不同的储存容量。 9.兼容性/配置/转换测试对于一些涉及对现有系统的兼容以及从现有系统转换的过程,测试其兼容性目标和转换过程 10.安装测试安装程序如果出现故障,会影响用户对软件的成功体验。所以测试安装过程是系统的一个重要的部分。 11.可靠性测试可靠性测试是为了保证产品在规定的寿命期间内,在预期的使用、运输或储存等所有环境下,保持功能可靠性而进行的活动。进一步可以研究归纳断言的概念。 12.可恢复性测试对系统如何从程序错误,硬件失效和数据错误中恢复出来的测试 13.适用性测试帮助您的产品符合法律安全与性能要求,同时提高用户体验,满足当地生活习惯和消费习惯需求 14.文档测试对用户文档的正确定,完整性和清晰性进行检查 15.过程测试对多有依规定的人工过程,如系统操作员,数据库管理员或最终用户的操作过程进行测试。 验收测试验收测试是将程序与其最初的需求及最终用户当前的需要进行比较的过程,该测试通常是由程序的客户或最终用户来进行。 测试的计划与控制测试计划应包括: 目标:必须定义每个测试阶段的目标 结束准则:制定准则以规定每一个测试阶段何时可以结束 进度:每个阶段都须有时间表 责任:确定设计,编写,和验证测试用例的人和发现软件错误的人 测试用例库及标准:确定、编写以及存储测试用例的系统方法 工具:确定需要使用的测试工具 计算机时间:计划每个测试阶段所需要的计算机时间 硬件配置:描述特别需要的硬件配置或设备 集成:定义程序如歌组装在一起的方法(如自定向下的增量测试) 跟踪步骤:跟踪测试的方方面面,包括对错误易发模块的定位,以及有关进度、资源和结束准则的估计 调试步骤:制定上报已发现错误、跟踪错误修改进程以及修改部分加入系统中去的机制 回归测试:回归测试在对程序作了功能改进或进行了修改之后,判断程序的改动是否引起其他程序其他方面的退步。 测试结束准则三个参考原则:
|
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 0:27:32- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |