读书笔记 - 《移山之道:VSTS软件开发指南》中的软件测试介绍
1 从测试设计的方法分类
2 功能测试
测试名称
|
测试内容
|
Unit Test
|
单元测试 – 在最低的功能/参数上验证程序的正确性
|
Functional Test
|
功能测试 – 验证模块的功能
|
Integration Test
|
集成测试 – 验证几个互相有依赖关系的模块的功能
|
Scenario Test
|
场景测试 – 验证几个模块是否能够完成一个用户场景
|
System Test
|
系统测试 – 对于整个系统功能的测试
|
Alpha/Beta Test
|
外部软件测试人员(Alpha/Beta 测试员)在实际用户环境中对软件进行全面的测试。
|
测试名称
|
测试内容
|
Stress/load test
|
测试软件在负载情况下能否正常工作
|
Performance test
|
测试软件的效能
|
Accessibility test
|
测试软件辅助功能测试 – 测试软件是否向残疾用户提供足够的辅助功能
|
Localization/Globalization Test
|
本地化/全球化测试
|
Compatibility Test
|
兼容性测试
|
Configuration Test
|
配置测试 – 测试软件在各种配置下能否正常工作
|
Usability Test
|
可用性测试 – 测试软件是否好用
|
Security Test
|
软件安全性测试
|
4 Unit Test单元测试
4.1 用VSTS写 单元测试
4.2 好的单元测试的标准
4.2.1 单元测试应该在最低的功能/参数上验证程序的正确性
4.2.2 单元测试必须由最熟悉代码的人(程序的作者)来写
4.2.3 单元测试过后,机器状态保持不变
4.2.4 单元测试要快 (一个测试运行时间是几秒钟, 而不是几分钟)
4.2.5 单元测试应该产生可重复,一致的结果
4.2.6 独立性,单元测试的运行/通过/失败不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性。
4.2.7 单元测试应该覆盖所有代码路径,包括错误处理路径,为了保证单元测试的代码覆盖率,单元测试必须测试公开的和私有的函数/方法。
4.2.8 单元测试应该集成到自动测试的框架中
4.2.9 单元测试必须和产品代码一起保存和维护
5 BVT 构建验证测试 (Build Verification Test)
6 功能测试 (functional test)
场景ID
|
场景名
|
测试结果
|
Bug/小强id
|
3024
|
用户登录
|
成功
|
|
3026
|
用户按价格排序
|
失败
|
5032
|
3027
|
用户按名字搜索
|
失败
|
5033
|
…
|
…
|
…
|
…
|
7 Ad hoc Test, Exploratory Test “探索式”的测试
8 Regression Test回归测试
9 Scenario/integration/System Test 场景/集成/系统测试
11 Stress Test压力测试
- 内存/资源泄露,在压力下这会导致程序可用的资源枯竭,最后崩溃。
- 一些平时认为“足够大/足够好”的算法实现会出现问题。
- 进程/线程的同步死锁问题,在压力下一些小概率事件会发生,看似完备的程序逻辑也出现了问题。
12 Alpha Test, Beta Test
13 Usability Test可用性测试
14 Bug Bash
- 鼓励大家做探索试的测试,开阔思路。
- 鼓励测试队伍学习并应用新的测试方法,例如在做完“软件安全性测试”培训后,立马做一个针对“安全性”的小强大扫除.
- 找到很多小强,让开发人员忙一阵子
- 扰乱正常的测试工作
- 如果过分重视奖励,会导致一些数量至上,滥竽充数的做法。
15 总结和思考
15.1 十八般兵器
15.2 构建的质量
15.3 问题
15.3.1 如果连续几天都不能产生“可测”版本,怎么办?
测试种类 | 解释 |
黑盒测试 | 不基于内部设计和代码的任何知识,而是基于需求和功能性。 |
白盒测试 | 基于一个应用代码的内部逻辑知识,测试是基于覆盖全部代码、分支、路径、条件。 |
单元测试 | 最微小规模的测试,以测试某个功能或代码块。典型的由程序而非测试员来做,因为它需要知道内部程序设计和编码的细节知识。 |
累积综合测试 | 当一个新功能增加后,对应用系统所做的连续测试。它要求应用系统的不同形态的功能能够足够独立以便在全部系统完成前能分别工作,这种测试可由程序员或测试员来做。 |
集成测试 | 一个应用系统的各个部件的联合测试,以决定他们能否在一起共同工作。部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。这种类型的测试主要与客户服务器和分布式系统有关。 |
功能测试 | 用于测试应用系统的功能需求的黑盒测试方法。 |
系统测试 | 基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。 |
端到端测试 | 类似于系统测试,测试级的“宏大”的端点,涉及整个应用系统环境在一个现实世界使用时的模拟情形的所有测试。例如与数据库对话,用网络通讯,或与外部硬件、应用系统或适当的系统对话。 |
健全测试 | 典型的是指一个初始化的测试工作,以决定一个新软件版本测试是否足以执行下一步的测试。 |
衰竭测试 | 软件或环境的修复或更正后的“再测试”,可能很难确定需要多少遍再次测试,尤其在接近开发周期结束时,自动测试工具对这类测试尤其有用。 |
接受测试 | 基于客户或最终用户的规格书的最终测试,或基于用户一段时间的使用后,看软件是否满足客户要求。 |
负载测试 | 测试一个应用在重负荷下的表现,例如测试一个web站点在大量的负荷下,何时系统的响应会退化或失败。 |
强迫测试 | 在交替进行负荷和性能测试时常用的术语。也用于描述象在异乎寻常的重载下的系统功能测试之类的测试,如某个动作或输入大量的重复、大量数据的输入,对一个数据库系统大量的复杂的查询。 |
性能测试 | 在交替进行负荷和强迫测试时常用的术语,应在需求文档或质量保证、测试计划中定义。 |
可用性测试 | 对“用户友好性”测试,显然这是主观的,且将取决于目标最终用户或客户。用户面谈、调查、用户对话的录象和其它一些技术都可使用。程序员和测试员通常都不宜作可用性测试。 |
安装/卸载测试 | 对软件的全部、部分或升级安装或卸载处理过程的测试。 |
恢复测试 | 测试一个系统从如下灾难中能否很好地恢复,如遇到系统崩溃、硬件损坏或其它灾难性问题。 |
安全测试 | 测试系统在防止非授权的内部或外部用户的访问或故意破坏等情况时怎么样。这可能需要复杂的测试技术。 |
兼容测试 | 测试软件在一个特定的硬件/软件/操作系统/网络等环境下的性能如何。 |
比较测试 | 与竞争伙伴的产品的比较测试,如软件的弱点、优点或实力。 |
Alpha测试 | 在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。 |
Beta测试 | 当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。 |
读书笔记 - 《移山之道:VSTS软件开发指南》中的软件测试介绍相关推荐
- 《移山之道-VSTS软件开发指南》---读书笔记
MSF的基本原则: (1)推动信息共享(Foster open communications) (2)为共同的远景而工作(Work toward a shared vision) (3)充分授权和信任 ...
- 【读书笔记】提高编码效率 —— 《Mac 高效开发指南》
文章目录 Mac 系统配置 快捷键进阶 光标移动 使用 Option 键 拓展预览程序 qlcolorcode qlstephen qlmarkdown quicklook-json betterzi ...
- 转 [读书笔记]《移山之道》的若干读后感
//一版的<移山> //10061162 刘俊伟 零零碎碎地花了不少时间看<移山之道>,现在也到了该也总结的时候了. 由于看本书的时候正在进行pair work,因此也并不是按 ...
- [读书笔记]《移山之道》的若干读后感
//一版的<移山> //10061162 刘俊伟 零零碎碎地花了不少时间看<移山之道>,现在也到了该也总结的时候了. 由于看本书的时候正在进行pair work,因此也并不是按 ...
- 《移山之道》第十一章:两人合作 读书笔记 PB16110698 第六周(~4.15)
本周在考虑阅读材料时,我翻阅了<移山之道>,正好看到这一章:两人合作,心想:正好,我们正值结对作业的紧要关头,书中两人合作的宝贵经验和教诲应当对我们有很大帮助.于是,我开始一边在ddl苦 ...
- 读《移山之道》的收获与疑问(阅读作业之刘明篇)
<移山之道>是一本介绍软件开发方法(MSF)和工具(VSTS)的书,这本书讲程序设计的基本原则,讲如何在工具的帮助下进行软件的开发.如何与人合作.如何管理软件工程,讲微软解决方案及方法论. ...
- 有源则至清——我读《移山之道》
引子 =============== 大概是因为列在博文的作译者清单里的缘故罢,我常常能在第一时间得到有关新书的消息.这本<移山之道>的消息在<大道至简>出版前我就知道了.当时 ...
- 阅读作业第一弹——移山之道 by 吴煜
这几天在读邹老师的移山之道,选择这本书有两个原因,一个是这本书字最少了,另一个...你懂得. 很推荐大家都来读移山之道,一个主要原因是,邹老师的书很懂他的读者,也很懂如何讲给他的读者.略带诙谐的文字使 ...
- 读《移山之道》 去“移山”
软件工程课老师让我们选一本教材,分别是<代码大全>.<快速软件开发>.<移山之道> .作为初入茅庐的人,对三本书没有先验知识的情况下,对比了这三本书,最后选择了&l ...
- 《移山之道》之读后5问
1.MSF的适用范围及不同之处? 书里详细地介绍了MSF(microsoft solution framework),但MSF本身也有着局限性,在学习时也要不忘反思. MSF的最大特性是商业化,并自始 ...
最新文章
- mysql like 命中索引
- 工业富联:左手工业AI,右手“雾小脑”
- 【转】职场三国杀:为什么职场争斗中认真干活的人有时会败给不干活的人
- denied 虚拟机access_Windows 2008 R2 Administrator access denied解决办法
- 课程分类管理-添加课程分类
- SVN 分支/合并/切换
- 20162302 第七周作业
- 计算机常用单位的换算方法,常用单位的换算(含温度长度计算机单位面积以及数量含义).doc...
- matplotlib 水平堆积图
- 数据分析/运营——数据异常的排查方法
- 2021年年总结:你无法让每个人都满意,甚至是大多数人。
- HoloLens开发学习笔记(一):HoloLens简介
- 卧槽,泪目了!二哥被读者的深情告白了感动哭了!!!!
- obj转stl_STL转STP的方法视频教程,OBJ格式转STP或者IGS开模具格式的过程,STL转STP软件介绍...
- 端午节了,了解粽子的起源
- 扬长避短,做自己最擅长的事情
- vue项目首屏加载慢解决方案
- 如何将视频文件在线压缩,压缩的方法
- 华三无线AP注册神器
- C++拷贝构造函数和浅拷及深拷贝详解
热门文章
- python 爬虫学习之 selenium.webdriver学习
- JVM 宋红康版 : JVM与Java体系结构
- 2019 CSP-J 游记(CQ LNBS考场 的退役之战)
- 在我们人生的大道上,肯定会遇到许许多多的困难。但我们是不是都知道,在前进的道路上,搬开别人脚下的绊脚石,有时恰恰是为自己铺路?
- msxml3.dll 错误'800c0005' 系统未找到指定的资源错误
- python xmind_Python 使用Python操作xmind文件
- 论文笔记——Thompson Sampling for Contextual Bandits with Linear Payoffs(线性收益)
- 蒙特卡洛(Monte Carlo)
- 小罗说敏捷 | 使用关键路径法优化项目进度管理
- 使用tcpdump抓取DNS包