软件测试基础-更高级别的测试、调试、极限测试
更高级别的测试
- 开发过程和测试过程存在一一对应关系
- 模块测试的目的是发现程序模块与其接口规格说明之间的不一致
- 功能测试的目的是为了证明程序未能符合其外部规格说明
- 系统测试的目的是为了证明软件产品与其初始目标不一致
功能测试
- 黑盒测试
- 目的:是为了暴露程序的错误以及与规格说明不一致之处,而不是为了证明程序符合其外部规格说明
系统测试
能力测试
- 判断目标文档提及的每一项能力是否都确实已经实现
容量测试
- 使程序经受大容量数据的检验。
- 需要大量资源
- 机器和工时限制,不能进行过程的容量测试
- 每个程序应该至少进行几次容量测试
强度测试
- 使程序承载高负载或强度的检验
- 高强度:在很短的时间间隔内达到的数据或操作的数量峰值
易用性测试
- 试图发现人为因素或易用性的问题
安全性测试
- 设计测试用例来突破程序安全检查的过程
性能测试
- 特定性能或效率目标,描述为在特定负载和配置环境下程序的响应时间和吞吐量
存储测试
- 软件偶尔会有存储目标
配置测试
- 应该使用每一种类型的设备,以最大和最小的配置来测试程序
兼容性/配合/转换测试
- 当存在新开发的软件替换某些不完善的系统,会涉及到与现有系统的兼容以及从现有系统的转换过程
安装测试
- 安装测试是系统测试中的一个重要部分
可靠性测试
- 可靠性目标:正常运行时间,平均故障间隔时间(MTBF)
可恢复性测试
- 可恢复性目标:平均恢复时间(MTTR)
适用性测试
- 目标:存储转存程序或诊断程序、调试明显问题的平均时间、维护过程以及内部业务文档的质量
文档测试
- 根据文档来确定系统测试用例的形式
- 即一旦涉及完成某个具体的测试情况,应该使用文档来确定系统测试用例的形式
过程测试
- 必须对所有已规定的人工过程,如系统操作员、数据库管理员或最终用户的操作过程进行测试
系统测试的执行
- 不能有程序员来进行测试
- 在所有的测试阶段之中,这是唯一一个明确地不能由负责该程序开发的机构来执行的测试
验收测试
- 将程序预期最初的需求及最终用户当前的需求进行比较的过程
- 测试通常是由程序的客户或最终用户来进行
安装测试
- 在安装软件系统期间会发生很多时间,作为示例的简短列表可以包括:
- 用户必须选择大量的选项
- 必须分配并加载文件和库
- 必须进行有效的硬件配置
- 软件可能要求网络连通,以便与其他软件连接
- 软件测试用例需要检查以确认已选的选项集合互不冲突,系统的所有部件全部存在,所有文件已经创建并包含必须内容,硬件配置妥当
测试的计划与控制
测试结束准则
- 常见准则:
- 用完安排的测试时间后,测试便结束
- 当执行完所有测试用例都未发现错误,测试便结束
- 上述两条准则往往是无效的,以下三类结束准则较为有效
- 最佳准则可能是上述三类的组合
调试
- 调试是执行一次成功的测试之后要进行的工作。成功的测试指的是可以证明程序没有实现预期功能。
- 从执行了一个成功的测试用例,发现了一个问题开始
- 确定程序中可疑错误的准确性和位置
- 修改错误
暴力调试法
利用内存信息输出调试
根据一般的“在程序中插入打印语句”建议来调试
使用自动化的调试工具进行调试
特点
- 忽略思考的过程
归纳法调试
演绎法调试
回溯法调试
测试法调试
调试的原则
定位错误的原则
- 动脑筋
- 遇到僵局稍后解决
- 遇到困境描述给他人
- 测试工具是第二手段
- 避免使用试验法
修改错误的技术
- 存在一个缺陷的地方,可能还存在其他缺陷
- 应纠正错误本身,而不是其症状
- 正确纠正错误的可能性并非100%
- 正确修改错误的可能性随着程序规模的增大而降低
- 改正错误可能会引入新的错误
- 修改错误的过程也是临时回到设计阶段的过程
- 应该修改源代码而不是目标代码
错误分析
- 错误出现在什么地方?
- 谁制造了这个错误?
- 哪些做得不正确?
- 如何避免该错误的出现?
- 为什么错误没有早些发现?
- 该如何更早地发现错误?
极限测试
极限编程基础
- XP重视采取简单的设计、在开发人员和客户之间建立联系、不断地测试代码库、重构以适应规格说明的变更,以及寻求用户的反馈。XP更倾向于适合中小规模的软件开发,这些软件的规格说明的变更非常频繁,接近实时的沟通也是可能的。
- 避免了大规模项目的综合征
- 避免了编写不必要的功能
- 将精力集中在测试上,测试先行
极限测试:概念
- 极限测试分为单元测试和验收测试
极限单元测试
- 是极限测试中才用的主要测试方法
- 简单规则
- 所有代码模块在编码开始之前必须设计好单元测试用例
- 在产品发布之前必须通过单元测试
- 极限测试中的单元测试与普通单元测试的最大区别
- 极限测试中的单元测试必须在模块编码之前就完成设计和生成
- 这样能够迫使我们在代码编写之前, 首先理解规格说明,避免混淆
验收测试
- 目的是判断应用程序是否满足如功能性和易用性等其他需求。在设计/计划阶段,由开发人员和客户来设计验收测试
- 验收测试也是回归测试的一种形式
软件测试基础-更高级别的测试、调试、极限测试相关推荐
- 在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试
在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试 原文:在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试 版权声明:本作品采用知识共享署名-非商业性 ...
- 性能测试——负载测试、容量测试、极限测试、压力测试
1.负载测试(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担. 关注点:how much 2.压力测试(Stress Test): 压力测试(又叫强度测试)也 ...
- html5测试 iphone6sp,极限测试!iPhone6s Plus表现太夸张!
原标题:极限测试!iPhone6s Plus表现太夸张! 近期,好奇实验室进行了一次疯狂的跳伞实验,三组人马分别携带华为Mate 8.三星Note 5和苹果iPhone6s Plus从4000米高空跳 ...
- 精读-软件测试的艺术之调试,极限测试和因特尔应用系统的测试
本文是关于精读书籍<软件测试的艺术>的一些学习笔记和分享 本书共有九章包括测试思想(心理,经济),代码检查,测试用例设计,模块测试,更高级别的测试,调试,极限测试和因特尔应用系统的测试. ...
- 软件测试的完整案例分析,清华大学出版社-图书详情-《软件测试基础与测试案例分析》...
随着计算机系统规模和复杂性的急剧增加,计算机软硬件出现故障和系统失效的可能性也在增加.为保证计算机软件的质量,软件测试正日益受到IT业的重视.软件测试一般是指在规定的条件下,对计算机软件进行测试,发现 ...
- 《软件测试的艺术》第六章 更高级别的测试
<软件测试的艺术>第六章 更高级别的测试 6.0 前言 软件开发过程模型 6.1 功能测试 6.2 系统测试 6.2.1 能力测试 6.2.2 容量测试 6.2.3 强度测试 6.2.4 ...
- 软件测试基础:自动化测试、安全测试、性能测试
自动化测试的意义: 缩短软件开发测试周期,可以让产品更快投放市场 测试效率高,充分利用硬件资源 节省人力资源,降低测试成本 增强测试的稳定性和可靠性 提高软件测试的准确度和精确度,增加软件信任度 软件 ...
- 想要踏入测试门这些软件测试基础知识必须闹记在心
目录 一.软件测试概述 二.白盒测试 三.黑盒测试 四.测试用例 五.单元测试 六.功能测试 七.集成测试 八.系统测试 九.验收测试 十.回归测试 十一.配置测试 一.软件测试概述 1.什么是软件 ...
- 软件测试基础丨测试工程师之间要善于发现闪光点——测试理念篇
测试理念有多种,有一些理念,深藏于我的心中, 而这些理念,您或许偶尔想到,却没有说出,或许您感受到了,却因为工作生活的忙碌,没有将其背后的含义想具体, 在此我非常愿意和大家进行分享这些理念. 第一篇: ...
最新文章
- 吴裕雄--天生自然 PYTHON3开发学习:输入和输出
- ngx_lua 模块
- 文献记录(part11)--Biclustering of Expression Data
- html表单传值,如何将用户输入的表单值从html传递给javascript?
- python线程池超过最大数量_讨论一下Python线程池大小设置?
- 2020年百度之星程序设计大赛-初赛一(Drink、GPA、Dec)
- 雷石柏云服务器指令,雷石KTV人工智能,让歌唱更自由
- SPSS——描述性统计分析——列联表
- html 怎么让整体居中,html中表格整体居中 详解html里面如何让表格居中
- 蒟蒻的第一篇博客(洛谷P1113)
- CTF---Web入门第十六题 天下武功唯快不破
- JAVA/JS针对常见的字符数据处理的一个总结(JS截取字符串,判断是否包含某个字符串及它出现的次数;JAVA数据四舍五入,去掉科学计数法,截取特定符号之前或之后的数据)
- 图片怎样调整分辨率?如何在线修改分辨率?
- [记录][问题]Win32调用C++/WinRT DLL
- 图书管理系统课设报告(含用例图、通信图、顺序图、状态图、活动图)
- 用Python求矩阵的广义逆
- Linux C编程 itoa()函数 atoi()函数
- CU VS. 北航未来花园
- 大数据早报:搜狐《数字之道》,召唤新势力 十一数据观:钱和人都去哪了?(10.10)
- CvMat、Mat、IplImage之间的转换详解及实例
热门文章
- 入门kpi的后台工具类
- HP DL388 G9升级微码
- 计算机专业国外访学进修目的,浙江师范大学关于2012年度专业技术职务评审工作的实施意见...
- ES6 Map的创建、遍历、使用及注意
- 【学习笔记17】buu [安洵杯 2019]easy_web
- jsp教学网站百度文库_精品课程JSP教学网站的评价研究
- 多种规格尺寸可定制羧基化聚苯乙烯-二乙烯基苯聚合物微球PS-DVB-COOH
- 洛谷p1618 三连击(升级版)(python)
- 计算机专业和新能源专业哪个好就业,新能源科学与工程专业就业前景与方向(五篇)...
- 餐饮店装修不得不看的流程