软件测试方法论
文章平均质量分 82
梅森上校
十多年软件行业从业经验,热爱技术,精于项目管理和研发团队建设。闲暇至于,喜欢欣赏音乐,看看电影;摆弄摆弄茶道,让身心得以调整和休息。
展开
-
解读TMMi测试能力成熟度模型
软件测试中的测试成熟度模型(TMM)是评价软件测试过程成熟度的一个框架。使用测试成熟度模型的目的是识别软件的成熟度,并提供改进软件测试过程的目标,以实现进度。它可以补充任何过程改进模型,也可以作为一个独立的模型。测试成熟度模型(TMM)是基于能力成熟度模型(CMM)的,最早由伊利诺伊理工学院开发。这是一个测试过程改进的详细模型。TMMi模型(见下图)着眼于不同成熟度级别的软件测试,首先假设所有组织都从成熟度阶梯的TMMi级别1开始。组织的测试实践越成熟,组织的成熟度就越高。该模型有一个用于改进测原创 2021-03-12 19:23:28 · 1837 阅读 · 5 评论 -
Selenium 不同版本的区别
Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多个编程语言编写测试,并且 Selenium 能够在一个或多个浏览器中执行这些测试。用“一个工具”这样的字眼来形容Selenium并不恰当。Selenium是一套WEB应用的测试框架,为了满足不同的需要,它提供了几个组件形成了所谓的“Selenium”家族。其家族成员后面的文章中有介绍。起源Jason Huggins,当时在ThoughtWorks工作,2004年发起原创 2021-03-09 22:26:06 · 6558 阅读 · 0 评论 -
赢得面试——什么是 Spike Testing?
什么是 Spike Testing?尖峰测试是一种性能测试类型,用于测试负载极端递增和递减的软件应用程序。峰值测试的主要目的是评估用户负载突然增加或减少时软件应用程序的行为,并确定用户负载峰值后的恢复时间。它是用来估计软件应用程序的弱点的。Spike Testingis a performance testing type used to test software applications with extreme increments and decrements in load. The .原创 2021-02-25 23:39:24 · 844 阅读 · 0 评论 -
赢得面试——性能测试你所需要知道的
赢得面试——性能测试你所需要知道的Q1. 性能测试工程师所需要的一般技能都有什么?软件测试基本理论和测试方法、测试技术 掌握 Loadrunner、JMeter、Locust等性能测试工具的使用 掌握Oracle、MySQL等数据库的使用方法和基础的SQL调优、数据库性能优化方法 掌握Unix/Linux操作系统的使用和基础调优方法 掌握WebLogic/WebSphere等应用服务器的使用和基础的调优方法 掌握WEB Application 开发的基础架构设计 综合分析与定位系统性能问原创 2021-02-25 23:19:51 · 356 阅读 · 0 评论 -
测试策略模板——Test Strategy(中英文)
测试策略模板(中英文)什么是测试策略(Test Strategy)?测试策略是描述测试执行方式的高层文档。在测试策略文档中,记录了测试目标和实现这些目标的一组指导方法。它由测试经理(Test Manager)在测试过程中呈现给所有的利益相关者。它可以包含整个组织或特定项目的范围。测试策略的制定方法测试策略的不同方法是——分析方法——基于风险分析 基于模型的方法——基于各种统计模型 咨询方法——基于与技术或领域专家的咨询 按部就班的方法——基于经验 启发式方法——基于探索性技术原创 2021-02-16 01:07:57 · 2922 阅读 · 2 评论 -
测试计划模板——Test Plan(中英文)
测试计划模板(中英文)什么是测试计划(Test Plan)?测试计划是从需求文档(软件需求规范、用例文档等)派生出来的正式文档,详细描述测试的范围和在测试中执行的不同活动。它通常由测试经理编写,并由应用程序的不同涉众批准。测试计划的特点测试计划需要解决以下问题:测试的总体范围 风险分析 测试估算 资源需求 使用的工具 测试设计活动的安排、评审和分析 创建测试用例和测试数据 测试监控和测试控制活动的识别测试计划模板(例子)一份测试计划通常包含以下关键内容:测试计划原创 2021-02-16 00:57:03 · 4348 阅读 · 0 评论 -
解读 Flaky Test
解读 Flaky TestFlaky Tests是一种不可靠的测试现象:即在同样的软件代码和配置环境下,得不到确定(有时成功、有时失败)的测试结果。从逻辑上讲,当一遍又一遍地进行相同的测试时,代码将产生相同的结果——应用程序要么每次都能正常工作,从而通过测试,要么每次都不能正常工作,从而导致测试失败。测试结果应该是一致的(Consistent),即一段代码要么符合预期的运行结果,通过测试;要么与预期结果不符,测试失败。然而,实际中执行测试时会出现完全相同的代码和配置,但是出现不一致的测试结果,.原创 2021-02-15 16:07:19 · 1782 阅读 · 1 评论 -
DevOps对于测试团队意味着什么?
DevOps对于测试团队意味着什么?在2020年的夏天,我不止一次经历了项目发布前开发团队和测试团队连续加班工作到后半夜的场景。开发和测试团队工作到很晚,他们集中精力,赶在最后期限之前需要完成一些非常重要的工作项:开发团队快速修复缺陷 测试团队进行Retest 开发团队和测试团队进行缺陷Review,然后按照优先级和严重等级对缺陷进行重新排序,确定缺陷修复顺序 对于存在争议的和不能确认的缺陷进行再次Review,争论到耳红脖子粗,最后由PO进行调停 关闭缺陷列表 将即将发布的软件版本原创 2021-02-14 01:06:46 · 318 阅读 · 1 评论 -
质量保证的新方法:TestOps 概念、原则、方法
TestOps初探什么是TestOpsTestOps的目的是促进测试人员和开发人员、运营人员、IT项目管理人员之间密切互动的方法论。在谈论TestOps是什么的时候,我们可以看到在TestOps的文化和模型中,它扩展了测试自动化工程师的角色,新的职责是建立和维护自动化测试环境。这个定义意味着要执行自动化测试,工程师在Docker中打包测试,启动要测试的软件,运行测试,收集结果,并提供报告;通过强制性负载和可靠性测试扩展软件测试类型,扩大测试人员的工作范围,包括在测试环境和生产中监控所有系原创 2021-02-14 00:06:45 · 3163 阅读 · 0 评论 -
谈谈端到端测试(End-to-End Testing)
谈谈端到端测试(End-to-End Testing)当今的软件系统是复杂的,并且与许多子系统相互关联。如果任何子系统出现故障,整个软件系统都可能崩溃。这是一个主要的风险,可以通过端到端测试来避免。端到端测试是一种技术,它从头到尾测试整个软件产品,以确保应用程序流按预期运行。它定义了产品的系统依赖关系,并确保所有集成的部分按预期协同工作。端到端(E2E)测试的主要目的是通过模拟真实的用户场景,验证被测系统及其组件的集成性和数据完整性,从最终用户的体验进行测试。今天的软件越来越复杂。应用程序原创 2021-02-13 14:15:51 · 15103 阅读 · 2 评论 -
[敏捷开发实践] 端到端测试你了解多少?
端到端测试你了解多少?端到端测试是一种软件测试方法,用于从开始到结束测试应用程序流。此测试的目的是模拟真实的用户场景,验证被测系统及其组件的集成和数据完整性。它自始至终都是在实际场景下执行的,比如应用程序与硬件、网络、数据库和其他应用程序的通信。执行此测试的主要原因是确定应用程序的各种依赖关系,并确保在各个系统组件之间传递准确的信息。它通常在任何应用程序的功能和系统测试完成后执行。End-to-end testing is a Software testing methodology to原创 2020-05-10 01:14:47 · 2171 阅读 · 0 评论 -
关于安全测试面试的30道基础概念题目
关于安全测试面试的30道基础概念题目 看看这些面试题目,目的是了解安全测试的基本概念。每一道题目都可以展开到一定的深度和广度。这里仅仅是一个抛砖引玉,点到为止。Question 1. 什么是安全测试(Security Testing)?在所有类型的软件测试中,安全测试可以被认为是最重要的。其主要目的是在任何软件(Web或基于网络)的应用程序中找到漏洞,并保护其数据免受可能的攻击...原创 2018-12-16 20:39:08 · 10805 阅读 · 1 评论 -
OWASP 2017 年发布的 Top 10安全风险
原文链接:https://sdtimes.com/app-development/owasp-releases-top-10-2017-security-risks/今天在网上查查现在OWASP发布的最新的WEB应用安全风险都有哪些,看到了这篇文章,翻译后转载一下。The Open Web Application Security Project (OWASP) officially ...翻译 2018-12-16 18:12:33 · 1193 阅读 · 0 评论 -
为什么要引入自动化测试(Benefits of Test Automation)?
你的项目中为什么要引入自动化测试?实施自动化测试有什么好处?降低QA成本 缩短测试时间 提高测试效率 提高产品质量(在产品测试中减少人为错误而导致的不良测试) 优化测试活动 更好地测试覆盖自动化测试的阶段(Life Cycle) Automation scope definition Tool Selection Framework implementatio...原创 2018-12-10 20:15:29 · 1155 阅读 · 0 评论 -
(解读)什么是渗透测试(Penetration Testing)?
(解读)什么是渗透测试(Penetration Testing)? 渗透测试(Penetration Testing),也称为Pen Testing,是测试计算机系统、网络或Web应用程序以发现攻击者可能利用的安全漏洞的实践。渗透测试可以通过软件应用自动化或手动执行。无论哪种方式,该过程都包括在测试之前收集关于目标的信息,识别可能的入口点,试图闯入(虚拟的或真实的)并报告结果。 让我们...原创 2018-12-16 16:14:03 · 53949 阅读 · 3 评论 -
通常选择哪些产品/系统/应用中的特性进行自动化测试?
通常选择哪些产品/系统/应用中的特性进行自动化测试?这实际上是一个自动化测试策略制定的问题。通常,对于SUT(System Under Test)而言,可以为满足下面特征的部分考虑实施自动化测试:为多个构建运行的重复测试。 容易导致人为错误的测试。 需要多个数据集的测试。 经常使用的引入高风险条件的功能。 无法手动执行的测试。 在多个不同的硬件或软件平台和配置上运行的测试。...原创 2018-12-15 19:36:55 · 243 阅读 · 0 评论 -
对自动化测试常见的5个误解
对自动化测试常见的5个误解长期以来,自动化软件测试一直被认为是大型软件开发组织的关键,但是通常被认为对于小公司来说太昂贵或难以实现。自动化测试不是银弹,很对管理者和测试者对于应用自动化测试有很多误解。其实在组织中引入自动化测试的成本是很高的,涉及到自动化测试的框架选择、环境构建、人员技能、测试流程和测试管理、测试效果评估和测试度量等等一系列的问题。下面列出对于应用自动化测试常见的5个误...原创 2018-12-15 19:16:41 · 503 阅读 · 0 评论 -
测试面试150题(101-150)
101. Testing activity which is performed to expose defects in the interfaces and in the interaction between integrated components is?Integration Level Testing102. What are the Structure-based (whi...原创 2018-12-10 00:05:02 · 1796 阅读 · 0 评论 -
什么是众包测试(Crowdsourced testing)
什么是众包测试(Crowdsourced testing)众包测试(Crowdsourced Testing)是软件测试的一个新兴趋势,它利用了众包和云平台的优势、有效性和效率。它不同于传统的测试方法,因为测试是由来自不同地方的许多不同的测试人员进行的,而不是由雇佣的顾问和专业人员进行的。该软件在不同的现实平台下进行测试,使其更加可靠、经济高效、快速和无缺陷。[需要引证]此外,众源测试允许远程...原创 2019-01-01 20:49:37 · 12235 阅读 · 2 评论 -
测试面试150题(51-100)
51. Explain how does a test coverage tool works?The code coverage testing tool runs parallel while performing testing on the actual product. The code coverage tool monitors the executed statements o...原创 2018-12-10 00:03:41 · 2558 阅读 · 0 评论 -
Alpha Testing 和 Beta testing 有什么不同?
Alpha Testing Vs. Beta TestingAlpha Testing 和 Beta testing 有什么不同?Alpha Testing Beta Testing Basic Understanding First phase of testing in Customer Validation Second phase of testing...原创 2018-12-16 20:50:42 · 3328 阅读 · 0 评论 -
基于风险的测试方法(RBT)
基于风险的测试方法(RBT)基于风险的测试是根据影响的大小和失败的可能性,对被测应用程序的特性、模块和功能进行优先级排序。它涉及基于复杂性、业务关键性、使用频率、可见区域、缺陷易发区域等来评估风险。风险是对项目的可测量的成功标准有积极或消极影响的不确定事件的发生。可能是过去发生的事件,也可能是现在的事件,或者是将来可能发生的事情。这些不确定事件会对项目的成本、业务、技术和质量目标产生影...原创 2018-12-10 21:06:34 · 4166 阅读 · 0 评论 -
谈谈 Negative Testing
谈谈 Negative Testing我们创建一个新产品时,我们确保所有的需求都满足,并且客户得到正确的产品。但这样就够了吗?当然不是。Test Engineer通过软件测试来找出系统和产品中的缺陷。测试的真正目的是确保软件是无缺陷的。无缺陷系统是无故障系统。所以我们需要确保我们的系统是100%无故障的,因此Test Engineer必须同时进行正向(Positive)和负向(Negative...原创 2018-12-10 22:21:57 · 1698 阅读 · 0 评论 -
测试人员的问题分析能力
这个话题似乎永远讨论不完,每次在进行测试项目总结或者在讨论测试中心目前面临的一些问题时,总会被Test Leader再次提出来。在笔者读过的一篇文章中,作者从分析测试人员的工作心态开始,并提出了一个问题:测试工程师是抱着什么目的去探究程序中存在的问题?他们是怎样一群人呢?引用《测试之美》中的一些描述:如果只列举少量的关键特质,那么首要的一点是测试人员有好奇心。 他们想弄清楚事物是怎么运行的;其次,他原创 2015-12-19 15:05:54 · 963 阅读 · 0 评论 -
[软件测试管理] 一名好的 Test Leader 都应该做什么?
[软件测试管理] 一名好的 Test Leader 都应该做什么?测试组织中有不同的角色,如 Sr. Test Manager, Test Manager, Test Leader, Test Engineer,Testers等等。不同的组织根据组织结构,角色划分和Title存在不同。但是一定会存在若干名管理和负责测试项目实施的人,我们暂且称之为 Test Leader。作为面试官,在最近...原创 2019-08-25 23:22:58 · 1262 阅读 · 0 评论 -
[软件测试] 开卷有益—推荐阅读书单
[软件测试] 开卷有益—推荐阅读书单软件测试系列推荐阅读书单序号 书名 作者 出版社 1 《软件测试的艺术》 (美)Glendord J. Myers Tom Badgett Corey Sandler 著 张晓明 黄琳 译 机械工业出版社 2 《敏捷软件测试:测试人员与敏捷团队的实践指南》 (美)Li...原创 2019-08-15 23:42:28 · 351 阅读 · 0 评论 -
Eclipse中安装FindBugs的方法
Eclipse中安装FindBugs的方法在Eclipse中,选择菜单 [Help] 下的 [Install New Software...]在弹出窗口中,Work with中输入:http://findbugs.cs.umd.edu/eclipse/ ,如下图所示:选择 FindBugs,点击下一步 Next 按钮点击 Finish 按钮。FindBugs更多的...原创 2019-06-08 00:35:59 · 686 阅读 · 0 评论 -
不要过分放大了自动化测试的作用
不要过分放大了自动化测试的作用 避免手工测试和自动测试之间的比较。它们都是需要的,因为每种类型的测试都有不同的用途。每次运行自动化测试时,Scripts都将按照事先开发的程序完全相同的步骤,并且只检查被要求检查的内容。另一方面,在手工测试过程中,测试人员的大脑被激活,并能发现系统中的其它缺陷。测试步骤不一定每次都是相同的,因为测试人员可以在测试过程中改变测试操作方法和步骤;在基于经验的测试...原创 2019-01-01 17:27:09 · 263 阅读 · 0 评论 -
Sanity Testing 和 Smoke Testing的区别
Sanity Testing 和 Smoke Testing的区别Sanity testing 和Smoke Testing是两个非常容易混淆的测试类型。Smoke Testing(冒烟测试)Smoke Testing(冒烟测试)是在软件构建(build)后进行的一种测试,用来确定程序的关键功能是否正常工作。在软件构建上执行任何详细的功能或回归测试之前执行。目的是拒绝一个严重损坏的应用...原创 2019-01-01 11:59:00 · 10536 阅读 · 0 评论 -
成功实施基于Mobile APP测试的5个要点
成功实施基于Mobile APP测试的5个要点1. 分析APP的业务思想要测试一款Mobile APP,不,是要想成功测试一款Mobile APP,一定要理解这款APP的目标和定位,特定的使用场景,使用用户的特征,覆盖的主流移动终端机型等等。2. 功能测试先行这一点很容易理解。 3. 多种测试类型结合UI测试、功能测试、易用性测试、可用性测试、性能测试、安全测试、国际化/本...原创 2019-01-01 00:28:47 · 393 阅读 · 1 评论 -
Mobile App测试时需要考虑的一些因素
Mobile App测试时需要考虑的一些因素1、设备选择在开始Android应用程序测试过程之前,这是最关键的步骤之一。决定测试过程中要考虑哪些设备:使用模拟器还是使用真实的Mobile设备; 选择是为了最大化目标客户的数量; Android 操作系统版本、屏幕分辨率和表单因素 [Tablet 或 Smart Phone] 在选择阶段起着至关重要的作用; 为了测试真实场景,物理设...原创 2018-12-18 22:50:27 · 763 阅读 · 0 评论 -
测试面试150题(1-50)
1. What is Exploratory Testing? Exploratory testing is a hands-on approach in which testers are involved in minimum planning and maximum test execution. The planning involves the creation of a test ...原创 2018-12-10 00:00:27 · 2848 阅读 · 0 评论 -
你知道这些测试工具吗?
你知道这些测试工具吗? https://www.getzephyr.com/ https://www.gurock.com/testrail https://sourceforge.net/projects/testlink/ https://www.practitest.com/ https://smartbea...原创 2018-12-09 23:11:58 · 251 阅读 · 0 评论 -
软件测试管理—如何写好软件测试计划书
如何写好软件测试计划书软件项目的测试计划是描述测试目的、范围、方法和软件测试的重点等的文档。对于验证软件产品的可接受程度编写测试计划文档是一种有用的方式。详细的测试计划可以帮助测试项目组之外的人了解为什么和怎样验证产品。它非常有用但是测试项目组之外的人却很少去读它。什么样的测试计划书符合要求软件测试计划作为软件项目计划的子计划,在项目启动初期是必须规划的。在越来越多公司的软件开...原创 2018-06-16 20:59:19 · 14810 阅读 · 5 评论 -
再谈软件测试工程师成长之路—从入门到优秀再到卓越
再谈软件测试工程师成长之路—从入门到优秀再到卓越近年来随着信息技术的高速发展和应用领域的不断扩展,云计算、大数据和移动互联网这“三驾马车”似乎正被人工智能(AI)和虚拟现实(VR)、物联网(IoT)和区块链等新兴的领域标签所取代。无论信息化技术领域如何变化,无论软件开发技术如何升级,软件测试作为技术研发流程中最重要的环节之一,其地位是不言而喻的。然而作为一名测试从业者,应该去不断思考和寻求这些...原创 2018-03-27 00:53:35 · 1713 阅读 · 0 评论 -
ISTQB题解:根据状态转换图设计测试用例数量的问题分析
根据状态转换图设计测试用例数量的问题分析ISTQB Foundation Level的模拟题中有这样的一道题目:(K3) 根据以下状态转换图,为了覆盖所有的状态转换,至少需要设计多少测试用例?这个题目如何分析呢?问题解答这个问题首先看图中给出了多少种状态,图中的状态有:empty、filled、full。 从开始顺着箭头的走向有:【开始】到 【Empty】到【fill...原创 2018-03-23 22:45:23 · 1673 阅读 · 0 评论 -
ISTQB题解:关于一道决策表优化的题解
关于一道决策表优化的题解问题来自ISTQB Foundation Level模拟试题中的一道题目:答案选项有: A. 5 B. 6 C. 7 D. 8应该选择哪一个选择呢?问题解答我们注意到这个决策表的条件桩给出了4个条件,每个条件可以取值为Y或者N,这样全排列组合的规则有 16 条 。 图中列出了 16 条规则。但是这些规则中存在冗余的规则。首先去...原创 2018-03-23 22:31:21 · 2264 阅读 · 0 评论 -
10款优秀的移动应用测试工具
10款优秀的移动应用测试工具,总有一款适合你。原创 2017-01-26 16:21:27 · 783 阅读 · 0 评论 -
如何设计测试用例
设计测试案例的时候,需要有清晰的测试思路,对要测试什么,按照什么顺序测试,覆盖哪些需求做到心中有数。软件测试工程师不仅要掌握软件测试的技术和流程,而且要对被测软件的设计、功能规格说明、用户试用场景以及程序/模块的结构都有比较透彻的理解。测试用例设计一般包括以下几个步骤: 1、测试需求分析 从软件需求文档中,找出待测试软件/模块的需求,通过自己的分析、理解,整理成为测试需求,清楚被测试对象具有哪些原创 2016-01-05 00:22:25 · 909 阅读 · 0 评论 -
如何有效的进行测试用例评审
测试用例评审对与验证测试用例的正确性、有效性、测试覆盖等有积极的意义;而且可以有效的保障测试实施,以及测试用例改善等工作都至关重要。那么如何有效的进行测试用例评审?这里其实包含了两个问题: 1、如何进行测试用例评审? 2、如何有效的对测试用例进行评审?第一个问题:如何对测试用例进行评审?经过一些测试工程师讨论,总结如下:测试用例本身的描述是否清晰,语言准确;是否存在二义性;测试用例内容是否完原创 2016-01-04 23:17:28 · 7839 阅读 · 0 评论