探索性测试---《探索式软件测试》知识点汇总
软件测试与质量保证考试

软件测试与质量保证考试(答案见尾页)一、选择题1. 软件测试的目的是什么?A. 评估软件的性能B. 保证软件的质量C. 提高软件开发效率D. 降低软件开发成本2. 在软件测试中,常用的测试方法有哪些?A. 单元测试B. 集成测试C. 系统测试D. 回归测试3. 黑盒测试与白盒测试的区别是什么?A. 黑盒测试关注软件的内部结构,白盒测试关注软件的实现细节B. 黑盒测试侧重于功能测试,白盒测试侧重于结构测试C. 黑盒测试不需要了解程序内部逻辑,白盒测试需要了解程序内部逻辑D. 黑盒测试适用于需求不明确的项目,白盒测试适用于需求明确的项目4. 手动测试与自动化测试的区别是什么?A. 手动测试依赖于测试人员的经验和技能,自动化测试使用脚本执行测试B. 手动测试可以在任何环境下进行,自动化测试需要在特定的环境下运行C. 手动测试的成本较低,自动化测试的成本较高D. 手动测试易于进行,自动化测试难以维护5. 测试用例通常包括哪些内容?A. 测试目标B. 测试步骤C. 输入数据D. 预期结果6. 回归测试的目的是什么?A. 验证已修复的错误B. 更新测试用例C. 持续改进测试过程D. 测试软件的新版本7. 在软件质量保证过程中,常用的质量工具有哪些?A. 测试报告B. 质量度量工具C. 敏捷开发工具D. 风险分析工具8. 软件测试计划通常包括哪些内容?A. 测试范围B. 测试资源C. 测试策略D. 测试环境要求9. 在软件测试中,缺陷管理的主要目的是什么?A. 记录和跟踪缺陷B. 分析缺陷原因C. 评估软件质量D. 提高软件开发效率10. 软件测试的目的是什么?A. 评估软件的质量B. 识别软件缺陷C. 验证软件功能是否满足需求D. 提高用户体验11. 在软件测试中,常用的缺陷管理工具是什么?A. JiraB. TrelloC. AsanaD. Microsoft Teams12. 黑盒测试与白盒测试的主要区别是什么?A. 黑盒测试侧重于测试软件的输入和输出,而不关注内部实现B. 白盒测试侧重于测试软件的内部结构和逻辑C. 黑盒测试通常使用自动化工具进行D. 白盒测试通常使用手动测试进行13. 测试用例设计的基本原则包括哪些?A. 确保测试用例全面覆盖所有可能的输入组合B. 确保测试用例独立无关,避免重复和冗余C. 确保测试用例具有明确的前提条件D. 确保测试用例能够模拟用户实际操作14. 在软件测试过程中,当发现缺陷时,应采取以下哪个步骤?A. 记录缺陷报告,并继续进行测试B. 修复缺陷并重新测试C. 与开发团队讨论缺陷解决方案D. 评估缺陷的影响范围15. 回归测试的目的是什么?A. 验证已修复的缺陷是否再次出现B. 检查软件的新版本是否有新的缺陷C. 确保软件的修改没有引入新的问题D. 对软件进行性能测试16. 验证软件功能是否满足需求的方法有哪些?A. 测试用例测试B. 接口测试C. 性能测试D. 安全测试17. 在软件测试中,如何确定测试的充分性和完整性?A. 制定详细的测试计划B. 进行随机测试C. 代码审查D. 使用自动化测试工具18. 在软件测试中,为什么需要关注潜在的缺陷和风险?A. 提高软件质量B. 减少客户投诉C. 降低维护成本D. 提高市场竞争力19. 软件测试与质量保证之间的关系是什么?A. 质量保证是软件测试的一部分B. 软件测试是质量保证的一部分C. 质量保证和软件测试是相互独立的D. 质量保证和软件测试相互依赖20. 软件测试的目的是什么?A. 评估软件的性能B. 确保软件满足用户需求C. 识别和修复软件中的错误D. 提高客户满意度21. 在软件测试中,常用的缺陷管理工具是什么?A. JiraB. TrelloC. ConfluenceD. Visual Studio22. 黑盒测试与白盒测试的区别是什么?A. 黑盒测试关注软件的内部结构,白盒测试关注软件的实现细节B. 黑盒测试侧重于功能测试,白盒测试侧重于结构测试C. 黑盒测试成本较低,白盒测试成本较高D. 黑盒测试不需要代码了解,白盒测试需要代码了解23. 在软件测试的哪个阶段进行冒烟测试?A. 需求分析阶段B. 设计阶段C. 编码阶段D. 测试阶段24. 回归测试是在哪个阶段进行的?A. 编码阶段B. 测试阶段C. 维护阶段D. 都可以25. 测试用例通常包括哪些信息?A. 用例编号B. 用例描述C. 输入数据D. 预期结果26. 功能测试与非功能测试的区别是什么?A. 功能测试关注软件的功能实现,非功能测试关注软件的性能B. 功能测试关注软件的可用性,非功能测试关注软件的安全性C. 功能测试成本较低,非功能测试成本较高D. 功能测试与业务相关,非功能测试与技术相关27. 测试计划通常包括哪些内容?A. 测试目标B. 测试范围C. 测试资源D. 测试进度安排28. 在软件测试中,如何验证已修复的错误?A. 重新执行测试用例B. 增加测试用例C. 修改测试用例D. 无需进行额外操作29. 什么是探索性测试?A. 不依赖测试用例的测试B. 依赖于测试用例的测试C. 顺序执行的测试D. 无法重复的测试30. 软件测试的目的是什么?A. 评估软件的性能B. 确保软件满足用户需求C. 识别和修复软件中的错误D. 提高软件的可维护性31. 在软件测试中,常用的缺陷管理工具是什么?A. JiraB. TrelloC. VersionOneD. Asana32. 在进行软件测试时,首先应该进行的是?A. 测试用例设计B. 缺陷报告编写C. 测试计划制定D. 测试环境搭建33. 下列哪个选项是软件测试的基本原则之一?A. 测试应该是可重复的B. 测试应该在软件开发周期的早期进行C. 测试应该由经验丰富的测试人员执行D. 测试应该覆盖所有的功能点34. 在软件测试中,白盒测试和黑盒测试的区别是什么?A. 白盒测试关注程序的内部结构,黑盒测试关注程序的输入输出B. 白盒测试侧重于代码逻辑,黑盒测试侧重于软件功能C. 白盒测试通常需要程序员参与,黑盒测试不需要D. 白盒测试可以提高软件的质量,黑盒测试不能35. 在进行软件测试时,常用的静态分析技术有哪些?A. 代码审查B. 数据流分析C. 判定树法D. 判定图法36. 下列哪个选项是软件质量保证活动的一部分?A. 代码审查B. 单元测试C. 验收测试D. 性能测试37. 在软件测试中,自动化测试的优势是什么?A. 自动化测试可以取代手动测试B. 自动化测试可以提高测试效率C. 自动化测试可以在短时间内覆盖更多的测试用例D. 自动化测试可以减少人为错误38. 在软件测试中,测试用例通常包括哪些内容?A. 测试场景B. 测试步骤C. 测试数据D. 测试预期结果39. 下列哪个选项是软件测试与质量控制之间的关系?A. 质量控制是软件测试的一部分B. 质量控制是软件测试的前提C. 质量控制是软件测试的目标D. 质量控制与软件测试没有直接关系40. 软件测试的目的是什么?A. 评估软件的质量B. 降低软件开发风险C. 提高用户满意度D. A和B41. 在软件测试中,常用的测试方法有哪些?A. 功能测试B. 性能测试C. 兼容性测试D. 安全性测试E. A和B和C和D42. 黑盒测试与白盒测试的区别是什么?A. 黑盒测试关注软件的内部结构,白盒测试关注软件的实现细节B. 黑盒测试侧重于输入输出,白盒测试侧重于代码逻辑C. 黑盒测试通常用于产品发布前的验收测试,白盒测试用于开发过程中的代码审查D. 黑盒测试成本较低,白盒测试成本较高E. A和B43. 测试用例设计的基本原则包括哪些?A. 确保测试覆盖率B. 设计易于实施的测试用例C. 设计全面的测试用例D. 设计具有代表性的测试用例E. A和B和C和D44. 验证型测试与探索型测试的主要区别是什么?A. 验证型测试侧重于按照测试用例执行,探索型测试侧重于发现潜在问题B. 验证型测试通常在测试初期进行,探索型测试在测试过程中进行C. 验证型测试关注软件的功能是否符合预期,探索型测试关注软件的缺陷和漏洞D. 验证型测试成本较低,探索型测试成本较高E. A和C45. 回归测试的目的是什么?A. 确保软件的修改不会引入新的错误B. 重新验证已修复的错误C. 测试软件的新版本D. A和B46. 质量保证的主要活动包括哪些?A. 质量规划B. 质量控制C. 质量改进D. A和B47. 在敏捷开发中,测试工作通常如何进行?A. 采用瀑布模型B. 采用迭代式开发C. 采用测试驱动开发D. A和B48. 定义一下软件测试中的“三包”原则。
常见的软件测试方法与分类

常见的软件测试方法与分类软件测试是保证软件质量的一项重要工作,根据不同的测试目的和测试对象,可以采用多种测试方法进行测试。
本文将介绍常见的软件测试方法与分类,以帮助读者对软件测试有更全面的了解。
一、黑盒测试与白盒测试1. 黑盒测试黑盒测试是一种基于功能需求的测试方法,测试人员不需要了解软件的内部结构和实现细节。
测试人员仅根据需求文档和用户行为来设计测试用例,并通过输入不同的数据和操作来验证软件功能的正确性。
黑盒测试方法可以测试软件的功能、性能、安全性等。
2. 白盒测试白盒测试是一种基于代码的测试方法,测试人员需要了解软件的内部结构和实现细节。
测试人员通过查看源码、执行路径和数据流来设计测试用例,并针对代码的覆盖率进行测试。
白盒测试方法可以测试代码的正确性、可靠性和可维护性等。
二、静态测试与动态测试1. 静态测试静态测试是一种不执行代码的测试方法,主要通过审查、检查和分析软件中的文档、模型和源代码来发现缺陷。
静态测试可以提前发现潜在的问题,并在开发过程中进行修复,以降低后续测试的成本和风险。
2. 动态测试动态测试是一种执行代码并观察其行为的测试方法,主要通过运行软件,并对其输出结果进行验证和比对来发现缺陷。
动态测试可以验证软件是否满足预期的功能和性能要求,并发现运行时错误、崩溃和内存泄漏等问题。
三、功能测试与非功能测试1. 功能测试功能测试是一种验证软件是否按照需求规格说明书中的功能要求进行设计和实现的测试方法。
功能测试主要包括界面测试、业务逻辑测试、数据输入输出测试等。
通过功能测试,可以检查软件的功能是否完整、准确、可用,并保证其符合用户的需求。
2. 非功能测试非功能测试是一种验证软件在非功能性方面的性能和质量特征的测试方法。
非功能测试包括性能测试、安全性测试、可靠性测试等。
通过非功能测试,可以评估软件在负载、并发、响应时间、稳定性和安全性等方面的性能指标,以确保软件具备可用性和可靠性。
四、回归测试与探索性测试1. 回归测试回归测试是一种针对已修改或添加新功能的软件进行的测试方法。
软件测试中的随机化技术与探索性测试

软件测试中的随机化技术与探索性测试随着软件应用的不断增加和复杂性的提高,软件测试在保证软件质量方面变得越发重要。
传统的测试方法往往只能涵盖一部分场景,而无法覆盖全部可能出现的异常情况,因此,为了提高测试的全面性和有效性,软件测试中的随机化技术与探索性测试应运而生。
随机化技术是指在测试过程中使用随机的数据或者随机的测试序列来模拟实际使用的环境,以发现潜在的软件缺陷。
随机化技术可以被广泛应用在软件测试的各个阶段,包括单元测试、集成测试和系统测试等。
它通过引入随机性,能够生成更多样化的测试用例,从而提高了测试的覆盖率。
随机化技术的一个重要应用是生成随机测试数据。
传统的测试用例设计方法通常是基于经验和规则来选择测试数据,而随机化技术可以在一定范围内随机生成测试数据,以覆盖更多的边界和异常情况。
通过引入随机性,随机测试数据能够更好地模拟实际使用中的各种情况,从而增加软件测试的全面性。
随机化技术还可以应用于模糊测试。
模糊测试是一种基于随机化的黑盒测试方法,通过输入模糊的、随机的测试数据来检测软件的漏洞和异常行为。
模糊测试通过向软件输入各种无效、异常或随机的数据,包括错误的输入类型、长度变化、边界测试等,以发现潜在的缺陷。
通过随机化生成测试用例,模糊测试可以挖掘出许多传统的测试方法无法涵盖到的异常情况,从而提高测试的可靠性。
除了随机化技术,探索性测试也是一种非常重要的测试方法。
探索性测试是一种灵活的测试方法,通过对软件的不同方面进行探索和试错,以发现潜在的问题。
探索性测试通常由经验丰富的测试人员来执行,他们在测试过程中通过灵活的思维和创造性的方式来设计测试用例和执行测试。
相比于传统的测试方法,探索性测试更加注重测试人员的直觉和发现能力,能够发现一些隐藏的问题或缺陷。
探索性测试在软件测试中发挥着重要作用。
它能够帮助测试人员从不同的角度来审视软件,从而发现更多的潜在问题。
在探索性测试中,测试人员可以根据自己的经验和理解来挖掘软件的潜在缺陷,从而提供更完善和可靠的软件产品。
测试工程师面试题

测试工程师面试题第一部分:软件测试基础知识在软件测试中,为了保证质量,测试工程师需要掌握一些基本的概念和技术。
下面是一些与软件测试基础知识相关的面试题。
1. 什么是软件测试?为什么需要进行软件测试?软件测试是通过执行系统或组件,以发现错误并评估其特性或特性的过程。
软件测试的目的是为了提高软件质量,减少错误,并确保软件满足用户需求。
2. 请解释下面几个测试术语:测试用例、测试套件、测试计划、缺陷、测试优先级。
- 测试用例:测试用例是一组输入、执行条件和预期结果,用于验证系统或组件的特定功能或特性。
- 测试套件:测试套件是一组相关的测试用例的集合,用于执行特定的测试任务。
- 测试计划:测试计划是一份详细的文档,描述了测试的范围、目标、资源需求和计划的时间表。
- 缺陷:缺陷是软件中的错误、缺陷或问题,可能会导致系统或组件的功能不符合预期。
- 测试优先级:测试优先级是根据缺陷的紧迫性和严重性确定测试执行的顺序和重要性。
3. 请解释黑盒测试和白盒测试的区别。
- 黑盒测试是基于系统或组件的需求和规格进行测试,不考虑系统内部的实现细节。
- 白盒测试是基于系统或组件的内部结构和实现细节进行测试,旨在覆盖代码的不同路径和分支。
4. 请解释验证和确认的区别。
- 验证是确认系统或组件满足特定规格和需求的过程。
- 确认是确认系统或组件满足最终用户的需求和期望的过程。
第二部分:测试方法和技术为了提高测试的效率和覆盖率,测试工程师需要学习和应用各种测试方法和技术。
下面是一些与测试方法和技术相关的面试题。
1. 请解释下面几个测试方法:黑盒测试、白盒测试、灰盒测试、功能测试、性能测试、冒烟测试、回归测试。
- 黑盒测试:基于系统或组件的需求和规格进行的测试,不考虑实现细节。
- 白盒测试:基于系统或组件的内部结构和实现细节进行的测试,确保覆盖不同路径和分支。
- 灰盒测试:结合黑盒测试和白盒测试的测试方法,既考虑功能需求,又考虑系统内部实现细节。
什么是探索性测试

一、概念对探索性测试的最直白的定义是:同时设计测试和执行测试,一边测试一边探索。
这与剧本化的测试方法相反(预先定义好测试步骤)。
探索性测试不像剧本化的测试,不会预先定义,不会严格按照计划开展。
探索性测试有时候会与即兴测试(ad hoc testing)混淆。
即兴测试通常是指临时准备的、即席的bug搜索的测试过程。
从定义可以看出,谁都可以做即兴测试。
由Cem Kaner提出的探索性测试,相比即兴测试是一种精致的、有思想的过程。
二、与ST测试的区别及优点不同于探索性测试(ET),基于测试用例的测试方法(ST)存在以下几个缺点:●测试文档(计划和设计和用例)必须非常详细和明确●测试设计和测试用例对于开发的文档的依赖非常大●测试执行的时候对于测试用例的依赖非常大●测试执行的时候对于需求变更的应对力较差下面我们对于ET和ST进行了一些简单的比较:ET作为一个比较现代的测试方法,肯定有其非常重要的优势:1.它可以鼓励测试人员的创造性2.它增加了发现新的或者难以发现的bug。
3.它允许我们有更多的时间去测试感兴趣的和比较复杂的用例4.它可以更有效率的驱使测试人员在一个很短的时间内找到更多的bug和对AUT做一个快速的评估5.它显示了一个产品是如何被使用的6.它具有非常好的适应性,灵活性,多样性7.它比ST更有乐趣8.它可以促使测试人员快速的学习一个产品9.它可以check其他测试人员的测试工作10.它可以很好的应用在敏捷测试项目11.它允许我们不用花很多时间在编写那些简单和繁琐的测试用例三、ET测试在项目中常见的应用模式1、根据探索性测试在总测试中占有的比例不同,分为三种模式:1)Freestyle ET,也就是自由式的ET即纯ET测试,没有任何测试文档;不需要记录任何东西(bug除外);测试执行之前不需要任何准备。
2)Pure Scripted,也就是基于传统瀑布式开发的纯ST测试,所有的测试执行都是基于详细的测试用例和步骤来做的。
探索性测试方法参考

测试方法:
(1) 指南针测试法:该方法要求测试人员严格遵守文档、用户需求或说明书来尽职尽责,非常忠实的测试每一个特性。
这是最基本的的测试方法,也是我们平时测试的时候最易用到的方法。
(2) 遍历测试法(冒烟测试相似):测试中不追求细节以免影响测试速度,只检查明显的东西。
选定一个目标类,然后用可以发现的最短路径来访问该目标类所包含的所有对象。
(3) 商业区思想:软件提供给用户最核心的基本功能。
(4) 辅助区思想:软件中其他重要功能:回归期间对其他功能进行快速及随机的回归。
(5) 取消测试法:启动操作然后停止它。
(6) 快递测试法:数据在向软件不断的流动(存储在内部变量->修改->使用->传递)
①这个测试中,测试人员应该专注于数据;
②应该确认那些被存储起来的输入数据并“跟随”它们走遍软件。
其他方法:
1、极限测试:及不断的去测试软件的极限,也叫破坏性/反叛性测试;
2、长路径测试:以最长的路径去完成某种操作;
3、遍历测试:及对商业区思想的补充进行最短路径的遍历;
4、取消测试:启动操作后,一开始即立即停止;
5、强迫症测试:重复、重做、粘贴、复制一些数据,然后周而复始的进行操作;。
预测软件测试题及答案

预测软件测试题及答案一、选择题(每题2分,共10分)1. 软件测试的目的是:A. 证明软件没有错误B. 证明软件存在错误C. 验证软件是否满足需求规格说明书D. 确保软件没有缺陷答案:C2. 黑盒测试不关心的是:A. 软件的内部结构B. 软件的内部逻辑C. 软件的输入数据D. 软件的输出结果答案:A3. 以下不属于软件测试类型的是:A. 功能测试B. 性能测试C. 维护测试D. 需求分析答案:D4. 软件缺陷的严重性等级一般不包括:A. 致命B. 严重C. 一般D. 可忽略答案:D5. 单元测试通常由以下哪个角色执行:A. 测试工程师B. 开发工程师C. 项目经理D. 业务分析师答案:B二、填空题(每题2分,共10分)1. 测试用例通常包括测试输入、测试执行步骤、测试输出以及________。
答案:预期结果2. 回归测试是指在软件修改后,重新执行的________测试。
答案:原有3. 压力测试和负载测试的主要区别在于,压力测试关注的是系统在________情况下的表现。
答案:极限4. 测试计划的目的是确保测试活动能够________、有效地执行。
答案:有序5. 测试驱动开发(TDD)是一种软件开发方法,它要求先编写________,再编写实现代码。
答案:测试用例三、简答题(每题5分,共20分)1. 请简述软件测试的生命周期。
答案:软件测试的生命周期包括测试计划阶段、测试设计阶段、测试实施阶段、测试评估阶段和测试维护阶段。
2. 什么是自动化测试?它的优势是什么?答案:自动化测试是指使用自动化工具执行测试用例的过程。
它的优势包括提高测试效率、减少人为错误、支持持续集成和回归测试。
3. 请列举至少三种软件测试的度量指标。
答案:缺陷密度、测试覆盖率、测试执行效率。
4. 什么是探索性测试?它与脚本化测试有何不同?答案:探索性测试是一种没有预定义测试脚本的测试方法,测试者根据经验和直觉来发现软件中的问题。
与脚本化测试不同,探索性测试更加灵活,侧重于发现未知的问题,而脚本化测试则侧重于验证已知的问题。
探索性测试在软件测试中的应用

探索性测试在软件测试中的应用软件测试是保障软件质量的重要环节。
随着软件规模和复杂度的增加,传统的测试方法已经无法满足需求,因此,探索性测试作为一种灵活、高效的测试方法被广泛应用。
本文将介绍探索性测试的概念、原则以及在软件测试中的应用。
一、探索性测试的概念探索性测试是一种基于经验、直觉和洞察力的测试方法,它强调测试人员的主观能动性。
与传统的测试方法相比,探索性测试更加灵活,能够更好地适应不确定、复杂的测试环境。
探索性测试注重发现潜在的软件缺陷和问题,通过不断试错、学习和优化来提高测试效果。
二、探索性测试的原则探索性测试遵循以下原则:1. 自由探索原则:测试人员有自主权,能够灵活地选择测试方法和技术,不受约束。
2. 提前测试原则:探索性测试需要尽可能早地进行。
在软件开发的不同阶段,测试人员可以通过探索性测试及时发现问题,有助于提高软件质量。
3. 重点测试原则:测试人员根据软件的特点和风险,有针对性地进行测试,重点关注可能存在问题的地方。
4. 提高测试效率原则:探索性测试注重快速获取反馈和整合学习,不断调整测试方向和策略,以提高测试效率。
三、探索性测试在软件测试中的应用探索性测试在软件测试中有多种应用方式,主要包括以下几个方面:1. 缺陷探索:通过主观的测试技巧和经验,测试人员可以主动发现潜在的缺陷和问题。
他们可以通过随机输入、异常输入、边界值测试等方法,找出软件中隐藏的缺陷。
2. 功能探索:在进行功能测试时,测试人员可以通过探索性测试方法发现更多的功能和用例,以增强对软件功能的全面覆盖。
3. 用户体验探索:测试人员可以通过模拟用户的操作和行为,对软件的用户体验进行全面评估。
他们可以发现潜在的用户体验问题,如交互不友好、操作繁琐等。
4. 性能探索:测试人员可以通过模拟大规模用户同时访问、持续使用等场景,对软件的性能进行探索性测试。
他们可以发现潜在的性能问题,如响应时间慢、负载能力不足等。
5. 安全探索:测试人员可以通过主观地进行安全测试,在软件中寻找潜在的安全漏洞和风险。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.深巷测试法:建议测试人员应该测试该使用情况列表中排在最下面的几
项特性。尝试将最流行和最不流行的特性放在一起混着测试。
漫游测试-旅馆区
当软件“休息”时,它实际上是非常忙碌的。
1.取消测试法:对提供取消选项的功能,或需要长时间才能完成的功能进 行取消操作。
2.懒汉测试法:做尽量少的工作。比如接受所有默认值,尽可能少填数据
性和功能。 3.旅游区:对新用户非常有吸引力,而老用户不再使用的特性和功能。 4.娱乐区:一些辅助特性和功能,用于精疲力竭之后的休闲娱乐。 5.旅馆区:当软件“休息”时,它实际上是非常忙碌的。
6.破旧区:很少被谈及的功能,可能存在非常令人讨厌的漏洞。
漫游测试-商业区
软件包装盒上描述的那些特性,及市场商业活动中或者销售演示中的各种特性。
测试实践
**项目或产品: 指南测试法:依据需求文档+原型设计,熟悉软件。 地标测试法:确认关键软件特性。
超模测试法:UI测试。
恶邻测试法:关注bug数多的模块或相关开发。 反叛测试法 :数量、税率、金额等字段。 取消测试法:各种参照。
谢谢大家!
1.指南测试法:通过阅读用户手册或需求文档等,严格遵照文档的建议执 行操作。热门区域(干净安全)-主要特性(实用可靠)
2.卖点测试法:热门景点一定有其吸引人的理由,同样,软件吸引客户的
特性就是卖点。 3.地标测试法:通过指南测试法和卖点测试法,确定关键的软件特性,也 就是地标。选完地标后,确认顺序。 4.极限测试法:向软件提出很多难以回答的问题。
等。
漫游测试-破旧区
很少被谈及的功能,可能存在非常令人讨厌的漏洞。
1.破坏者:试图利用每个可能的机会机会暗中破坏应用程序。 2.反叛测试法:要求输入最不可能的数据,或者已知的恶意输入。
逆向测试法:输入那些最不可能的数据。
歹徒测试法:突破限制,非法输入。 错序测试法:以错误的顺序做事情。
5.快递测试法:专注于数据。
漫游测试-历史区
从前版本遗留下来的代码,还有那些曾经出现过较多缺陷的特性和功能。
1.恶邻测试法:由于缺陷通常扎堆儿出现,因此产品缺陷多的地方值得反 复测试。
2.博物馆测试法:主要针对遗留代码,最初的开发人员已经离开了很长时
间,而且缺乏文档。
漫游测试-旅游区
有些特性和功能对新用户非常有吸引力,然而老用户不再使用他们。
不同测试对比
即兴测试与探索性测试
• 共同点:即兴发挥(利用直觉和经验,快速的测试软件,并不停的调整 测试策略)
• 不同点:后者是带着“反思”的测试,强调系统性和完整性。
不同测试对比
脚本测试与探索性测试
• 前者要求预先编写好测试脚本。(资源、灵活性、维护成本) • 后者是在测试过程中持续编写、修改、优化测试计划。(敏捷开发)
输入检查(输入值合法则接着处理,否则产生一条错误消息并中止处理)
异常处理代码 2)常规输入和非常规输入 常规输入(开发人员计划的输入,也是真实用户经常用到的输入) 非常规输入(在比较特殊的情况下才发生)
3)默认输入或用户提供的输入
4)使用输出来指导输入选择
局部探索性测试
2.代码路径 测试人员必须明确知道程序里可能有哪些分支,并理解哪些输入会导致 软件走这条分支而不是另一条。
全局探索性测试
设计整体测试计划和测试策略。 软件全局+整体方向
漫游测试
游客+新的城市
全局(整体):确定行程、饭店、住宿等 局部(细节):吃啥喝啥住哪等
漫游测试
1.商业区:软件包装盒上描述的那些特性,及市场商业活动中或者销售演 示中的各种特性。
2.历史区:从前版本遗留下来的代码,还有那些曾经出现过较多缺陷的特
两者结合,互补关系:前者提供测试框架,后者提高测试有效性。
局部探索性测试
在测试过程中,及时作出决定
具体步骤(细节)+明确指导 决策时间短+影响小
局部探索性测试
1.如何测试用户输入 1)合法输入和非法输入(大多数开发人员都不喜欢写错误处理代码) 输入筛选器(用于防止非法的输入值被传递给应用软件的功能代码)
1.长路径测试法:选择长的路径,把埋在应用程序最深处的界面作为测试 目标。
2.超模测试法:关心那些表面的东西。只测试界面。
漫游测试-娱乐区
软件也有一些辅助特性和功能,用于精疲力竭之后的休闲娱乐。
1.配角测试法:专注于某些特定的特性,它们虽然不是用户使用的主要特 性,但和那些主要的特性一同出现在显示器上。
路漫漫其修远兮,吾将上下而求索
浅析探索性测试
• 简介和概念
• 不同测试对比 • 局部探索性测试 • 全局探索性测试
– 漫游测试
• 测试实践
简介和概念
• 作为技术术语,探索性测试(Exploratory Testing)是测试专家Cem Kaner 博士在1983年提出的。
• 它是一种软件测试风格,它强调独立测试人员的个人自由和职责,为了 持续优化其工作的价值,将测试相关学习、测试设计、测试执行和测试 结果分析作为相互支持的活动,在整个项目过程中并行地执行。