编辑推荐
《软件测试技术经典教程(第2版)》编辑推荐:畅销测试教程全新升级,外企英文原版培训材料。连续5年畅销不衰的测试宝典全新升级,引入外企英文原版第一手培训材料,当下流行。自动化测试工具及白盒测试工具全解析,测试技术最佳自学手册,测试高手晋级宝典。主流测试工具及脚本解析
测试案例剖析,外企原版第一手培训材料,30天成为高级软件测试工程师,高级软件测试工程师专用。
作者简介
赵斌,毕业于哈尔滨工业大学软件工程专业,先后就职于博彦科技、北大青鸟等多家知名IT公司,历任高级测试工程师、测试讲师等职位,现任美国洛基软件质量部总监。拥有丰富的大型项目测试经验和培训经验,曾负责中国民航机票预定系统,中科院863空间环境预报系统,微软MSSQL-CloudDB,富士施乐企业CRM系统,美国剑桥软件产品的功能、性能及白盒测试。
目录
第一部分 软件测试基础
第1章 软件测试基本概念
1.1 什么是软件
1.2 软件的分类
1.2.1 按照功能划分
1.2.2 按照技术架构划分
1.2.3 按照用户划分
1.2.4 按照开发的规模划分
1.3 什么是Bug
1.3.1 广义上的Bug
1.3.2 Bug Defect Error和Failure
1.4 什么是软件测试
1.4.1 早期定义
1.4.2 标准定义
1.5 测试环境
1.5.1 什么是测试环境
1.5.2 怎样搭建测试环境
1.5.3 软件环境的分类
1.5.4 使用虚拟机VMware搭建测试环境
1.6 测试用例
1.6.1 什么是测试用例
1.6.2 测试用例模板
案例1 某电子商务网站登录模块功能测试用例(见表1.4)
案例2 某电子商务网站登录模块性能测试用例(见表1.5)
1.6.3 编写测试用例的注意事项
小结
思考题
第2章 软件测试分类
2.1 黑盒测试和白盒测试
2.2 静态测试和动态测试
案例3 C语言程序的静态分析和动态测试
2.3 单元测试、集成测试、系统测试和验收测试
2.3.1 单元测试
案例4 1个单元测试的例子
案例5 驱动模块和桩模块
2.3.2 集成测试
2.3.3 系统测试和验收测试
2.4 功能测试和性能测试
2.4.1 功能测试
2.4.2 性能测试
案例6 纸杯测试
2.5 回归测试、冒烟测试、随机测试
2.6 不同测试分类之间的关系
小结
思考题
第3章 软件测试的常识
3.1 公司里测试部门的组织结构
3.2 软件测试工程师所需具备的素质
3.2.1 测试人员的基本从业素质
3.2.2 如何成为一名优秀的测试工程师
3.3 软件测试和软件质量的关系
3.4 软件测试和SQA的关系
3.4.1 什么是SQA
3.4.2 什么是CMM
3.4.3 SQA与测试
3.5 软件测试的一些基本原则
3.5.1 Zero Bug与Good Enough
3.5.2 不要试图穷举测试
3.5.3 开发人员不能既是运动员又是裁判员
3.5.4 软件测试要尽早执行
3.5.5 软件测试应该追溯需求
3.5.6 缺陷的二八定理
3.5.7 缺陷具有免疫性
小结
思考题
第4章 黑盒测试技术
4.1 等价类技术(Equivalence Class Testing)
案例7 加法器
4.1.1 等价类方法总结
4.2 边界值技术(Boundary Value Testing)
4.3 因果图法(Cause-Effect Graphs)
案例8 奖金计算软件
4.3.1 因果图法小结
4.4 流程图法(Workflow Method)
4.5 黑盒测试技术的综合运用
4.5.1 概述
案例9 计算三角形面积程序
案例10 163邮箱注册模块
小结
思考题
第5章 缺陷管理
5.1 Bug的分类
5.2 缺陷报告
5.3 提交缺陷报告的注意事项
5.4 Bug的处理流程
5.5 常见的缺陷管理工具
5.6 Bugzilla使用指南
小结
思考题
第6章 测试管理
6.1 软件的生命周期
6.1.1 什么是软件的生命周期
6.1.2 软件开发的生命周期
6.1.3 软件测试的生命周期
6.1.4 软件生命周期的模型
6.2 软件测试计划
6.2.1 撰写测试计划的注意事项
6.2.2 软件测试计划模板
案例11 某管理系统测试计划
6.3 软件测试用例设计和实施
6.4 软件测试评估
6.4.1 对覆盖的评测
6.4.2 对缺陷的评测
6.4.3 撰写测试总结报告
案例12 某管理系统测试总结
6.5 测试团队建设
小结
思考题
第7章 软件测试工具简介
7.1 软件测试工具分类
7.2 目前市场上主流的测试工具
7.2.1 MI公司产品
7.2.2 IBM Rational公司的产品
7.2.3 Compuware公司产品
7.2.4 Telelogic公司产品
7.2.5 其他公司产品
7.3 软件测试工具的利与弊
7.3.1 软件测试工具的优点
7.3.2 软件测试工具的局限性
7.4 如何选择软件测试工具
小结
思考题
思考题答案
第二部分 黑盒测试工具
第1章 LoadRunner 11.0测试方法
1.1 LoadRunner简介
1.2 性能测试的几个主要术语
1.2.1 响应时间
1.2.2 吞吐量
1.2.3 并发
1.3 LoadRunner安装
1.3.1 安装配置要求
1.3.2 安装的前提条件
1.3.3 LoadRunner的安装过程
1.4 LoadRunner的性能测试流程
1.5 LoadRunner的脚本录制
1.5.1 新建脚本/选择协议
1.5.2 录制脚本
1.5.3 编辑脚本
1.5.4 选项设置
1.6 LoadRunner的场景设计
1.6.1 手动设置场景Manual Scenario
1.6.2 手动设置场景(使用百分比模式)
1.6.3 面向目标的场景Goal-Oriented Scenario
1.6.4 虚拟IP技术
1.7 LoadRunner的场景监视
1.7.1 LoadRunner场景监视概述
1.7.2 常见监视图表分析
1.7.3 监测Windows资源
1.8 LoadRunner的结果分析
1.8.1 调用结果分析工具Analysis
1.8.2 Analysis测试报告分析
1.8.3 Analysis高级使用技巧
小结
思考题
第2章 TestDirector 8.0测试方法
2.1 TestDirector简介
2.1.1 概述
2.1.2 TestDirector测试流程
2.2 TestDirector 8.0安装
2.2.1 TestDirector 8.0的配置要求
2.2.2 TestDirector 8.0安装过程
2.2.3 验证TestDirector安装的组件(仅适用7.6及以前版本)
2.3 TestDirector简单使用
2.4 TestDirector站点管理
2.5 TestDirector测试管理
2.5.1 工程选项设置
2.5.2 测试流程管理
2.6 TestDirector常见问题分析
2.6.1 IE7.0无法访问TD
2.6.2 如何将TD工程迁移到QC平台上
2.6.3 TD里面Site Administrator的密码忘记了怎么办
2.6.4 TD里面默认的字体比较小并且都是英文该怎么办
2.6.5 如何设置MS-SQL的数据库连接
2.6.6 首页只看到默认的Domain,看不到其他Project
2.6.7 The RPC server is unavailable
小结
思考题
第3章 Ranorex自动化测试方法
3.1 自动化测试的现状和前景
3.2 Ranorex简介
3.2.1 Ranorex优势
3.2.2 Ranorex Spy
3.2.3 Ranorex Recorder
3.2.4 Ranorex Studio
3.3 桌面应用程序的自动化测试
3.3.1 调试Calculator Test Sample
3.3.2 独立录制/编写计算器测试脚本
3.4 Web应用程序的自动化测试
3.4.1 调试Web Test Sample
3.4.2 独立录制/编写Web Test脚本
3.5 搭建自动化测试框架
3.5.1 自动化测试框架简介
3.5.2 维护测试用例
3.5.3 输出测试结果
3.5.4 测试脚本的定时执行
3.6 Ranorex常见问题解答
小结
思考题
思考题答案
第三部分 白盒测试工具
第1章 白盒测试技术简介
1.1 测试工具分类
1.2 白盒测试技术概述
1.2.1 白盒测试与黑盒测试比较
1.2.2 白盒测试的分类
1.3 边界值测试
1.3.1 数据类型的边界值
1.3.2 数组的边界值
1.3.3 分支判断语句的边界值
1.4 逻辑驱动覆盖技术
1.4.1 语句覆盖测试
1.4.2 分支覆盖测试
1.4.3 条件覆盖测试
1.4.4 分支条件覆盖测试
1.4.5 条件组合覆盖测试
1.4.6 路径覆盖测试
1.5 循环语句测试
1.6 面向对象测试
1.6.1 Java简介
1.6.2 面向对象测试概述
1.6.3 面向对象程序的单元测试
1.7 单元测试的评估和总结
小结
思考题
第2章 BoundsChecker教程
2.1 内存管理的相关知识
2.2 内存相关编程举例
2.3 BoundsChecker简介
2.4 BoundsChecker的安装
2.5 BoundsChecker操作步骤
2.5.1 BoundsChecker与VC的集成
2.5.2 ActiveCheck模式
2.5.3 FinalCheck模式
2.5.4 检测Win32 API函数的兼容性
小结
思考题
第3章 Logiscope 6.1教程
3.1 Logiscope简介
3.2 Logiscope 6.1安装
3.2.1 Logiscope 6.1安装配置
3.2.2 Logiscope 6.1安装过程
3.3 代码评审模块Audit
3.3.1 新建一个Logiscope Audit工程
3.3.2 Logiscope Audit与VC的集成
3.3.3 Logiscope质量模型
3.3.4 分析Audit结果
3.4 编码规则模块RuleChecker
3.4.1 创建一个RuleChecker工程
3.4.2 Logiscope RuleChecker与VC的集成
3.4.3 RuleChecker结果分析
3.5 动态测试模块TestChecker
3.5.1 创建一个TestChecker工程
3.5.2 TestChecker选项设置
3.5.3 TestChecker测试结果分析
小结
思考题
第4章 JUnit 3.8教程
4.1 JUnit简介
4.2 JDK与JUnit 3.81的安装与配置
4.2.1 JDK的安装与配置
4.2.2 JUnit 3.8.1的安装与配置
4.3 JUnit的简单使用
4.3.1 一个计算器的案例
4.3.2 JUnit断言
4.3.3 JUnit测试
4.4 JUnit的高级使用
4.4.1 Setup和Tear-down方法
4.4.2 JUnit的集成模式
小结
思考题
第5章 JTest 7.0教程
5.1 JTest简介
5.2 JTest安装
5.3 创建一个示例工程
5.4 使用JTest检查编码规范
5.5 使用JTest进行动态测试
5.5.1 使用JUnit框架进行动态测试
5.5.2 测试结果分析
5.5.3 在图形化界面添加测试用例
小结
思考题
思考题答案
第四部分 测试英文
Chapter1 QA Introduction
1.1 What is testing?
1.2 Why we go for testing?
1.3 Why there is need of testing or why there is a need of ?independent/separate testing?
1.4 What is the role of a tester?
1.5 What is the test scope?
1.6 Functional vs non-functional testing
1.7 Defects and failures
1.8 Finding faults early
1.9 Compatibility overview
1.10 Input combinations and preconditions
1.11 Static vs.dynamic testing
1.12 Software verification and validation
1.13 Software testing team
1.14 Software quality assurance
Practice QA
Answers to Practice QA
Chapter2 Testing Types
2.1 Funtional/black box test
2.2 White box test
2.3 Test safety
2.4 Types of applications and techniques applicable
2.5 Test stress & load
2.6 GUI
2.7 Automated test
Practice QA
Chapter3 Web Application & Desktop Application
Practice QA
Chapter4 Scrum and Task Reports
4.1 Induction SCRUM development methodology
4.2 Important points
4.3 Life cycle
4.4 Practice for scrum
4.5 The scrum meeting record
4.6 The value of scrum meeting
4.7 Task report
4.8 Practice of task report
附录
附录1 常用软件测试术语说明及中英文对照
附录2 测试工程师面试、笔试时的常见问题
附录3 C/C++编码规范
附录4 Java编码规范
文摘
版权页:
插图:
测试范围:
技术:使用为功能或业务周期测试制定的测试。通过修改数据文件来增加事务数量,或通过修改脚本来增加每项事务发生的次数。
开始标准:
完成标准:多个事务或多个用户:在可接受的时间范围内成功地完成测试,没有发生任何故障。
测试重点和优先级:
需考虑的特殊事项:负载测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的控制和精确的评测。负载测试所用的数据库应该是实际大小或相同缩放比例的数据库。6.8 强度测试
强度测试是一种性能测试,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能是由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。(注:以下提到的事务都是指逻辑业务事务)
推荐阅读:
更多软件工程图书请访问:http://www.reader8.net/book/ruanjian/
更多图书资讯可访问读书人网图书频道:http://www.reader8.net/book/