软件测试入门:阅读《软件测试》(原书第2版,(美)Ron Patton 著,张小松、王钰、曹跃 等译)一书
该书全面系统地介绍了软件测试理论及应用技术,不仅讲述基本的测试技能,也讲述成为一个成功的软件测试员所必须掌握的高级技能。
第一部分 软件测试综述
第1章 软件测试的背景
软件错误实例:迪斯尼的狮子王游戏在大多数系统不能运行;爱国者导弹系统时钟累积错误;千年虫(年份用两位数表示)出现问题等。
产品说明书对开发的产品进行定义,给出产品细节、如何做、做什么、不能做什么。
至少满足如下5个规则之一才称软件缺陷:1.软件未实现产品说明书的要求;2.软件出现产品说明书指明不该出现的错误;3.软件出现产品说明书未提及功能;4.软件未实现产品说明书虽未明确提及但应实现的功能;5.软件难以理解,不易使用、运行缓慢。
软件缺陷来源:产品说明书、设计、编码、其他。修复费用越往后越多,指数级增长。
软件测试员目标是尽可能早地发现软件缺陷,并确保其得以修复。
第2章 软件开发的过程
软件产品需要多少投入:客户需求;产品说明书;进度表;软件设计文档;测试文档(测试计划、测试用例、缺陷报告、测试工具和自动化测试、度量和统计)。
软件产品包括:帮助文件、用户手册、样本和示例、标签和不干胶、产品支持信息、图标和标志、错误信息、广告和宣传材料、安装、说明文件。
软件项目成员:项目经理、系统架构师、程序开发人员、测试员、技术作者、配置管理员。
软件开发生命周期模式:大爆炸模式、边写边改模式、瀑布模式(构思-分析-设计-开发-测试)、螺旋模式(测试员通过参与最初设计阶段,可以尽早影响到产品,可以把产品来龙去脉弄清楚)。
敏捷软件开发:快速原型、极限编程或进化开发。
第3章 软件测试的实质
测试的原则:完全测试程序不可能;软件测试有风险;测试无法显示潜伏的软件缺陷;找到的软件缺陷越多,说明软件缺陷越多;杀虫剂抵抗力怪事;并非所有缺陷都修复;什么时候叫缺陷难以说清;产品说明书没有最终版本;软件测试员在产品小组不受欢迎;软件测试是一项讲究条理的技术专业。
术语:精确和准确;确认(保证软件符合产品说明书的过程)和验证(保证软件满足用户要求的过程);质量(满足客户要求)和可靠性(稳定,是质量的一方面);测试和质量保证。
第二部分 测试基础
第4章 检查产品说明书
描述测试方式的术语:黑盒测试(功能性测试/行为测试)和白盒测试(透明盒测试)。静态测试(检查和审核)和动态测试(使用和运行软件)。
测试产品说明书属于静态黑盒测试。
测试产品说明书第一步是高级审查:假设自己是客户;研究现有的标准和规范;审查和测试类似软件。
产品说明书低层次测试技术:产品说明书属性检查清单:完整;准确;精确;一致;贴切;合理;代码无关;可测试性。
第5章 带上眼罩测试软件
测试用例(test case)是指进行测试时使用的特定输入,以及测试软件的过程步骤。
通过性测试(至少能做什么)和失效性测试(搞垮它)。
等价类划分是指分步骤地把海量测试用例缩减得很小,但过程同样有效。
数据测试等价类划分原则:边界条件;次边界条件;默认、空白、空值和无;非法、错误、不正确和垃圾数据。
状态转换图应该表示出:软件可能进入的每一种独立状态;从一种状态进入另一种状态的输入和条件。进入或者退出状态的设置条件及输出结果。
通过性状态测试:检查软件、描绘状态、尝试各种合法可能性、确认状态及其转换正常。
失效性状态测试:竞争条件和时序错乱、重复、压迫和重负。
第6章 检查代码
静态白盒测试是在不执行软件的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程,有时也称为结构化分析。
正式审查是进行静态白盒测试的过程,包括4个基本要素:确定问题;遵守规则;准备;编写报告。
编码标准和规范:可靠性;可读性/维护性;移植性。
通用代码审查清单:数据引用错误(导致缓冲区溢出,安全缺陷);数据声明错误;计算错误;比较错误;控制流程错误;子程序参数错误;输入/输出错误;其他检查。
第7章 带上X光眼镜测试
动态白盒测试是指利用查看代码功能(做什么)和实现方式(怎么做)得到的信息来确定哪些需要测试、哪些不需要测试、如何开展测试,也称结构化测试。
单元测试/模块测试、集成测试、系统测试
递增测试两条途径:自底向上(测试驱动调用被测试模块)和自顶向下(测试桩)。
数据覆盖:数据流、次边界、公式和等式、错误强制。
代码覆盖:程序语句和代码行覆盖、分支覆盖、条件覆盖。
第三部分 运用测试技术
第8章 配置测试
执行任务:1、确定所需硬件类型。2、确定有哪些厂商的硬件、型号和驱动程序可用。3.确定可能的硬件特性、模式和选项。4、将确定后的硬件配置缩减为可控制的范围。5、明确与硬件配置有关的软件唯一特性。6、设计在每一种配置中执行的测试用例。7、在每种配置中执行测试。8、反复测试直到小组对结果满意为止。
第9章 兼容性测试
软件兼容性测试是指检查软件之间是否能够正确地交互和共享信息。
向后兼容(可以使用软件以前版本)和向前兼容(可以使用软件未来版本)。
高级标准和规范是产品普遍遵守的原则,低级标准是本质细节。
兼容性测试记住3点:对兼容软件的所有可能选择进行等价划分;研究适用于测试软件的高级/低级标准和规范;测试软件程序之间的不同数据流动方式。
第10章 外国语言测试
使软件适应地域特征,照顾到语言、方言、地区习俗和文化的过程称为本地化或国际化。
翻译问题:文本扩展;ASCII;热键和快捷键;扩展字符;字符计算;从左向右和从右向左读;图形中的文字;让文本与代码脱离。
本地化问题:内容,数据格式。
配置和兼容性问题:国外平台配置,数据兼容性。
第11章 易用性测试
优秀UI具备的7个要素:符合标准和规范;直观;一致;灵活;舒适;正确;实用。
为有残疾障碍的人员测试:辅助选项测试。
第12章 测试文档
文档包括:市场宣传材料、广告,授权登记表,标签和不干胶,安装和设置指导,用户手册,联机帮助,指南,样本和示例,错误提示信息等。
好的软件文档可提高软件易用性、可靠性,降低支持费用。
文档测试检测清单:通用部分:听众、术语、内容和主题;正确性:紧扣事实、逐步执行;检查的内容:图表和截图、样本和示例、拼写和语法。
第13章 软件安全性测试
黑客动机:挑战/成名,好奇,借用,恶意破坏(丑化、破坏、拒绝服务),偷窃。
威胁模型分析,整个项目小组执行的正式过程,用于评估软件系统的安全问题。
了解缓冲区溢出,使用安全的字符串函数,计算机取证。
第14章 网站测试
黑盒测试:文本(当作文档对待);超级链接;图片;表单(用于输入和选择信息的文本框、列表框和其他域);对象和其他各种简单功能。
灰盒测试(介于白盒和黑盒之间)适合网页测试,HTML(超文本标记语言)
白盒测试,网站系统结构和编程知识:动态内容;数据库驱动的网页;用编程方法创建的网页;服务器性能和加载;安全性。
配置和兼容性测试,易用性测试。
第四部分 测试的补充
第15章 自动测试和测试工具
重复执行测试的过程称为回归测试。
工具和自动化的主要属性:速度;效率;准确度和精确度;节省资源;仿真和模拟;坚持不懈。
测试工具:查看器/监视器;驱动程序;桩;压力和负载工具;干扰注入器和噪声发生器;分析工具。
软件测试自动化可以执行测试用例,查找软件缺陷,分析看到的信息,记录结果。
自动化:宏录制和回放;可编程的宏;完全可编程的自动测试工具。
随机测试:模拟用户可能的操作,测试猴子。
第16章 缺陷轰炸和beta测试
让别人测试你的软件,测试共享:整个测试小组参加缺陷轰炸。
Beta测试是用于描述外部测试过程的术语。在该过程中,软件分发给选定的潜在客户群,让他们在实际环境中使用软件。
外包测试,配置和兼容性测试通常是外包测试的理想选择。
第五部分 使用测试文档
第17章 计划测试工作
测试计划的目的:规定测试活动的范围、方法、资源和进度;明确正在测试的项目、要测试的特性、要执行的测试任务、每个任务的负责人,以及与计划相关的风险。
测试计划主题:高级期望;人、地点和事;定义;团队之间的责任;哪些要测试、哪些不要测试;测试的阶段;测试策略;资源需求;测试员的任务分配;测试进度;测试用例;软件缺陷报告;度量和统计。风险和问题。
第18章 编写和跟踪测试用例
有条不紊地仔细计划测试用例的重要性:组织;重复性;跟踪;测试证实。
测试用例计划综述:测试设计说明——测试用例说明——测试过程说明。
测试用例组织和跟踪:凭脑子记;书面文档;电子表格;自定义数据库。
第19章 报告发现的问题
不修复软件缺陷的原因:没有足够时间;不算真正的软件缺陷;修复风险太大;不值得修复;无效的软件缺陷报告。
报告软件缺陷的原则:尽快报告软件缺陷;有效描述软件缺陷(短小,单一,明显并通用,可再现);在报告软件缺陷时不评价;对软件缺陷报告跟踪到底。
软件缺陷分等级:严重性和优先级。
软件缺陷生命周期:打开、解决、(审查、推迟、)关闭。
软件缺陷跟踪系统:标准,测试事件报告;手工软件缺陷和跟踪;自动化软件缺陷报告和跟踪。
第20章 成效评价
在日常测试中使用的度量;常用项目级度量。
使用度量的目的是评估测试员和项目的成效,获知一切是否按预定计划进行,如果不是,应该修正。
打开的缺陷 修复/解决的缺陷 关闭的缺陷
第六部分 软件测试的未来
第21章 软件质量保证
一致性费用是指与一次性计划和执行测试相关的全部费用,用于保证软件按照预期方式运行。
软件质量保证人员的主要职责是检查和评价当前软件开发的过程,找出改进过程的方法,已达到防止软件缺陷出现的目的。
QA质量保证,QC质量控制,QM质量管理
能力成熟度模型(CMM):1.初始的,随意和混乱的过程;2.可重复的,项目级的思想;3.定义的,组织级别的思想;4.可管理的,可控制的过程。5.不断优化的。
ISO9000(国际标准化组织),ISO9000-3(负责开发、供应、安装和维护计算机软件方面的事务)。
第22章 软件测试员的职业
软件测试技术人员、软件测试员或者软件测试工程师、软件测试工具开发师或软件测试开发工程师、软件测试负责人、软件测试经理。
开源代码测试
计算机用户的权利议案:观点;安装;服从;指示;控制;反馈;依赖;范围;协助;易用性。(用户第一)
软件测试入门:阅读《软件测试》(原书第2版,(美)Ron Patton 著,张小松、王钰、曹跃 等译)一书相关推荐
- 软件测试中文电子版姚静_软件测试[(美)ron patton]读书笔记
雪舞奉天读书笔记 msn: wwwux@163.com 第一部分 软件测试综述 软件测试 - 机械工业出版社 (美) Ron Pat ...
- 视频教程-软件测试入门视频教程-软件测试
软件测试入门视频教程 河北师大软件学院测试教室主任.项目基地测试经理;尚大学.金牌讲师.擅长技术: 项目模块化流程设计.软件测试流程设计及优化.项目管理平台的整合与应用.功能性自动化测试工具.性能测试 ...
- 软件测试入门之软件测试的概念与过程(精辟干货)
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 温馨提示:目录在文章右侧栏 文章目录 一. 软件测试的引入 1.学习软件测试前的思考 2.回顾软件的概念与分类 2.1软件的概念 ...
- 软件测试入门随笔——软件测试基础知识(一)
Q1:什么是软件测试? 广义概念:软件测试师是指软件生存周期中所有检查.评审和确认工作,其中包括了对分析.设计阶段,以及完成开发后维护阶段的各类文档.代码的审查和确认. 狭义概念:识别软件缺陷的过程, ...
- 软件测试入门之软件测试的概念与过程(精辟内容)
一. 软件测试的引入 1.学习软件测试前的思考 软件测试就是测试程序吗?(不是,软件包括程序丶数据以及文档,所以不止是测程序) 测试是不是装上软件后点鼠标.敲键盘?(不全是,测试是一个过程包括需求分析 ...
- 《软件测试》[(美)Ron Patton]第四章阅读总结
第四章 检查产品说明书 一.开始测试 描述测试方式的4个术语:黑盒测试.白盒测试.静态测试.动态测试. 1.黑盒测试和白盒测试 黑盒测试:又称功能性测试或行为测试,它是通过测试来检查每个功能是否都能正 ...
- 《软件测试》[(美)Ron Patton]第六章阅读总结
第六章 检查代码 一.静态白盒测试:检查设计和代码 静态白盒测试 定义:在不执行软件的条件下有条理的仔细审查软件设计.体系结构和代码从而找出软件缺陷的过程,又称结构化分析. 原因:是在开发过程早期发现 ...
- 软件测试入门之软件测试的原则与测试工程师的要求(了解即可)
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/1 ...
- 《软件测试》[(美)Ron Patton]第十二章阅读总结
第12章 文档测试 一.软件文档的类型 文档的软件组成部分 包装文字和图形.包括盒子,纸箱和包装纸. 市场宣传材料,广告及其它插页. 授权/注册登记表. EULA(最终用户许可协议),这是要客户同意条 ...
最新文章
- 部署DNS之辅助区域
- 终生受用的十大经典管理理论
- micropython esp8266教程_ESP8266 快速开发指南
- docker查找镜像_5 款非常好用的开源 Docker 工具,get一波~
- ElasticSearch-JDBC驱动 像使用SQL一样使用ElasticSearch查询语句
- 桌面环境选择_Fedora 30 正式版发布:引入 Deepin 桌面环境(DDE)
- idea 关闭检查更新_Intellij idea的抑制警告(SuppressWarnings)列表(正在持续更新)
- Win10: adb: error: remote could not create file(解决)
- 51单片机串行通信原理
- 利用nat123进行内网穿透
- python3提供了什么函数从标准输入读入一行文本_Python3 提供了print函数从标准输入(如键盘)读入一行文本...
- VAssistX 10.9 和 VS2010破解(win10环境)
- 全套web前端课程思维导图+视频+源码 web高端课程 深入学习 624个视频教程
- 小米android6.01 root,小米手机6详细刷成开发版开启root超级权限的教程
- cad画多段线时不显示轨迹_为什么CAD绘图编辑拖动时看不到预览效果?
- node-red实现MQTT通讯
- DBPedia知识图谱详细介绍
- 为什么人人都爱康师傅
- 结构体数组与结构体指针
- 万字长文,小学弟熬夜肝了这份腾讯面试攻略