用了一个多月的时间看完了陈能技的《软件测试技术大全》,可谓是受益不浅,如今总结一下笔记,分享也好,复习也好html
全书四篇二十章,我也按照篇章来总结,方便之后查看,可是总结完第一篇就总结第四篇,为了弥补我以为本书不够好的地方。不少人都以为测试很简单,没前途,因此不重视,学测试的人也有部分这样认为。第四篇讲的是软件测试的学习环境和研究方向及我的发展,无疑是给学习测试者打上一剂强心剂,才能让他们更加自信的学下去。java
第一篇 软件测试的基础程序员
第1章 软件测试概述web
测试人员的能力不足的缘由:正则表达式
Harry Robinson提出的迎接测试将来挑战的建议:算法
第2章 软件测试的组织数据库
一我的的测试是不可能成功的,测试是一项须要合做进行的工做。编程
微软的结论:不能依赖开发人员测试,也不能依赖外部公司的测试,必须本身创建一个独立的测试部门。小程序
测试组织分类:项目型和职能型安全
快速融入项目团队的技巧
尽快投入测试工做的技巧
测试规范:包括内部规范和全局规范
第3章 软件测试人员应具有的条件
测试人员应具有的基本素质:
测试人员的技能要求:
第四篇 软件测试的学习和研究
第19章 软件测试的学习环境
良好的学习环境主要依靠3个方面支撑:
软件测试的交流
与开发人员交流注意事项:
第20章 软件测试的研究方向及我的发展
转型:
发展:关键是选择本身认为适合的持续发展路线,不要轻易动摇。
第二篇 软件测试基本理论
第4章 软件工程与软件测试
软件的生命周期:计划->需求分析->设计->编码->测试->运行维护
软件工程研究领域:人员管理、项目管理、配置管理、质量管理、可行性分析->需求分析->系统设计->编码->测试。
软件开发模型:
不一样开发模式下的软件测试:
CMM(承制方软件工程能力的评估方法)分级
ISO 9000-3主要内容
敏捷开发中的软件测试
配置管理(CM):用于控制复杂系统发展的一门学科,确保开发活动和测试活动顺利进行的工具
软件配置管理定义(SCM):管理计算机程序产品进展的一门学科,包括在开发的初始阶段和产品的全部维护阶段
SCM的基本任务:计划、识别、控制、状态记录和状态审计。
第5章 软件测试的目的与原则
软件测试的目的:为了发现错误而执行软件程序的过程。一个成功的测试是发现迄今为止还没有发现的错误
软件测试的两面性:
软件测试的验证和确认
软件测试的原则:
第6章 软件测试的方法论
软件测试的学派及对软件测试的定义
IBM软件测试方法:基于RUP进行的
RUP:Rational统一过程模型,是一种强调迭代开发、持续集成的软件开发过程模型
RUP对软件测试的分类:
RUP对测试阶段的划分
第7章 软件测试的过程管理
PDCA循环:P(Plan),D(Do),C(Check),A(Action)
需求说明书的检查要点:
测试计划要点:
测试用例设计方法
测试用例的选择策略:先执行基本的测试用例,再执行复杂的测试用例;先执行优先级高的测试用例,再执行优先级低的测试用例。
BVT测试:编译检查测试,主要检查源代码是否能正确编译成一个新的、完整可用的版本
冒烟测试:先检查软件的基本功能,在进行下一步测试
BVT测试和冒烟测试是全部正式测试执行以前的第一步
测试执行的结果只有两个:测试经过和测试不经过;测试不经过,测试人员应把缺陷记录下来,反馈给开发人员
撰写测试报告的基本原则:客观地陈述全部相关事实
Bug的生命周期:New->Open->Fixed->Rejected->Delay->Closed->Reopen
若是时间比较紧迫,修改后剩余的时间不足以作一次有效的回归测试的话,不进行修改多是种明智的选择
易脆(不可维护)是旧的软件系统被替换的主要缘由之一
时间紧迫是回归测试的难度所在,但更难的是要克服测试人员的疲劳思惟。
测试报告纲要:
第8章软件测试的度量
测试的度量原则
测试不能提升软件质量,软件的质量是固有属性,其提升有赖于开发人员的努力
测试人员的工做成果不能从软件的产品质量或软件的最终结果获得科学的评估
软件测试的度量:
考核测试人员的硬指标
考核测试人员的软指标:Bug报告和测试报告
第三篇 实用软件测试技术与工具
第9章 实用软件测试技术
黑盒测试:把软件产品当成一个黑箱进行测试,测试只须要了解软件的输入结果和输出结果
白盒测试:是一种以理解软件内部结构和程序运行方式世纪城的软件测试技术
自动化测试:利工具进行重复性的工做,从而提升测试效率
手工测试不可替代点:
探索性测试:同时设计测试和执行测试
探索性测试过程:
单元测试
狭义的单元测试:指编写测试代码来验证被测试代码的正确性
广义的单元测试:指小到一行代码的验证,达到一个功能模块的功能验证,从代码规范性的检查到代码性能和安全性的验证都包括在内
单元测试进行:开发人员编写测试代码,测试人员执行测试代码并收集和分析结果
单元级别的性能测试:性能的考虑应该在架构设计时就开始,对于架构原型要进行充分的评审和验证。
单元级别的性能测试角度:
AQTime:可计算出每行代码执行时间的工具
NTime:用于测试函数、方法的性能是否知足要求的工具
数据库性能检查
引发数据库问题的主要缘由:数据库的设计和SQL语句
数据库的设计:数据库的参数配置和逻辑结构设计
可找出有性能问题的语句的工具:SQL Best Practices Analyzer、SQLServer数据库自带的事件探查器和查询分析器、LECCO SQLExpert等
压力测试
负载测试与压力测试区别
软件的容量测试:指软件系统在处理大数据量的时候,或者是加载大批量数据时的性能表现
容量测试的关键:模拟大批量的用户业务数据,首先要估算好用户若干年后可能出现的最大数据量
数据生成工具:DataFactor等
安全测试
跟踪法测试:一种介于黑盒测试和白盒测试之间的测试技术
跟踪法技术测试关心中间的一些环节是否也是正确的
跟踪法测试应用:
C/S结构软件系统的测试
B/S结构软件系统测试
界面测试
界面模型:设计者模型、实现者模型和用户模型
界面测试要点:
数据库测试
Web Services的测试
Web Services:是一种新的使用基于XML标准和协议来交换信息的Web应用程序
测试工具:
内存泄露测试
内存泄露缘由:
检测工具:MemProof、AQTime、Purify、BundsChecker、Perfmon的Handle Count、Virtual Bytes和Working Set计数器
可访问性测试
工具:Rampweb_ToolBar、Watchfire WebXACT、Parasoft WebKing和QTP等
第10章 实用软件测试工具
第11章 开源测试工具
第12章 测试工具的原理及制做
使用Windows脚本辅助测试
猴子测试:利用测试工具随机产生键盘敲击和鼠标点击时间。
代码覆盖率测试工具:DevParner、AQTime
第13章 实用小工具的应用技巧
任务管理器:可用于了解被测程序各类信息的小工具
运行程序,查看“内存使用”和“虚拟内存大小”,当程序请求所须要的内存后,若是虚拟内存仍是持续地增加,就说明这个程序存在内存泄露。
判断网络链接速度是否存在瓶颈,能够用字节数/间隔与目前网络的带宽进行比较
若是处理器时间持续超过95%,则代表CPU处理存在瓶颈
Perfmon:Windows自带的性能监控工具
NetStat:Windows自带的一个网络信息查询器
Visual SourceSafe的文件比较器:可用于比较两个文件之间的差别。
第14章 单元测试管理
自动化静态检查:主要根据代码的语法和词法特征来识别潜在的错误
自动化动态单元测试:经过执行那些实现了测试用例的测试代码的方式来进行测试,测试工具动态生成某些测试用例,而后自动转换成测试代码并执行
第15章 自动化功能测试管理
适合自动化测试的用例:
自动化功能测试脚本
提升自动化测试效率的建议:
敏捷自动化测试原则
第16章 性能测试管理
性能测试的成本:测试成本和软件修改为本
性能测试步骤:
瓶颈分析:识别性能问题->分析性能问题->定位性能瓶颈
在有限的时间和资源的状况下,完成尽量全面的性能测试,则是一个成功的性能测试
性能测试的全面性:功能模块全面性和测试类型全面性
第17章 探索性测试管理
探索性测试:在对测试对象进行测试的同时学习测试对象,在测试过程当中运用得到的关于测试对象的信息设计新的更好的测试的方法
剧本化测试:严格按照先设计测试用例,再执行测试并记录结果的顺序的一种测试方式
探索性测试原理:在测试以前提出不少关于软件产品的疑问,而后设计测试并执行测试以获取答案。一般,测试不能很好地回答这些问题,全部须要调整测试比不断尝试
探索性测试过程:计划、学习和调查、测试执行、结果分析。
第18章 用户界面测试管理
操做界面要求:好用的、易用的、美观的。
用户界面应尽早进行,后期修改的风险及压力:开发人员修改的风险和测试人员漏测的风险
用户界面设计原则:
尽可能避免使用模式对话框,由于它会使正在交互的界面动做无效或引发非预期的结果
应避免把不一样的操做绑在一块儿