在产品项目的最后推进过程中,会经过一系列的测试来判断以及优化产品,在测试中使产品的属性特征最优化,最终达到吸引更多客户的目的;本文作者分享了三种软件测试的主流方式,我们一起来了解一下。


在产品概念阶段,开展“电梯测试”是为了确定定位策略,将产品特征转化成显著的客户利益;在产品设计阶段,只有产品模型,测试目的是如果使产品的属性特征最优化,从而更吸引客户。

当产品最终完成但还没有引入市场时,实施产品测试是为了控制产品质量,维持产品生命。在产品正式上市前进行小范围的市场测试,目的在于识别竞争对手的实力和弱势(如果产品有做进一步改进的潜力的话,还可进行改进测试),确定产品在目标市场中的位置。

产品测试的目的随着被测试产品的发展或生命周期的不同阶段而不同,决定采用哪种测试研究方式是建立在研究的目的之上的,所以并没有一种测试可以称得上是最好的。

阿尔法α(Alpha)、贝塔β(Beta)、伽马λ(Gamma)测试常用来表示软件测试过程中的三个阶段,用于在开发流程中和上市前夕测试新产品:

  • α是第一阶段,一般只供内部测试使用;
  • β是第二个阶段,已经消除了软件中大部分的不完善之处,但仍有可能还存在缺陷和漏洞,一般只提供给特定的用户群来测试使用;
  • λ是第三个阶段,此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可上市发行。

由于样本选择缺乏统计基础,这种市场研究方式不提供具体的统计置信度,即这种方式不是严格意义上的定量分析,但它确实能够提供客户在使用产品后的详细反馈;此处,客户面对的是最终产品,或非常接近最终形态和功能的产品,测试有助于对产品进行验证和改进修正。

以下为大家详加介绍阿尔法、贝塔、伽马和试销主流测试方式:

一、阿尔法测试

阿尔法测试类似于可用性测试(在软件领域称之为软件测试),通常由内部测试人员完成;在极为少见的情况下,阿尔法测试是由客户过外部人员完成的,阿尔法测试发布的版本被称之为阿尔法版本(在软件领域常被称之为DAT开发测试[张乐飞1] 环境应用)。

阿尔法测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,试图发现错误并修正,阿尔法测试由程序员或测试员完成。

阿尔法测试的关键在于——尽可能逼真地模拟实际运行环境和用户对软件产品的操作,并尽最大努力涵盖所有可能的用户操作方式。

阿尔法测试的目的是评价软件产品的FLURPS(即功能、局域化、可用性、可靠性、性能和支持),尤其注重产品的界面和特色。

阿尔法测试可以从软件产品编码结束之时开始,或在模块(子系统)测试完成之后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始,有关的“测试用例”应该在阿尔法测试前准备。

软件测试是在软件交付用户使用或投入运行前,对软件需求规格说明、设计规格说明和编码的最终复审,是软件质量保证的关键步骤,软件测试是为了发现错误而执行程序的过程。

软件测试在软件生命周期中横跨两个阶段:通常在编写出每一个模块之后就需要对它做必要的测试(称为单元测试),编码和单元测试属于软件生命周期中的同一个阶段;在结束这个阶段后对软件系统还要进行各种综合测试,如集成测试、系统测试、性能测试和配置测试等,这是软件生命周期的另一个独立阶段,即测试阶段。

只有当阿尔法测试达到一定的可靠程度时,才能开始贝塔测试,阿尔法测试即为非正式验收测试,经过Alpha测试调整的软件产品称为贝塔版本。

二、贝塔测试

贝塔测试是一种验收测试,所谓验收测试是软件产品完成了功能测试和系统测试之后,在产品发布之前所进行的软件测试活动,它是技术测试的最后一个阶段。

通过了验收测试,产品就会进入发布阶段,贝塔测试后发布的版本被称为贝塔版本(在一些企业称之为UAT用户测试[张乐飞2] 环境应用);可以说,贝塔测试是“预发布测试”。

软件的贝塔测试版本将会被在网上发布,提供给广大用户,从而使该程序进人“真实世界”测试,并为下一个发布版本提供部分预览。贝塔测试的主要目的在于,获得不同客户群体的反馈以及检查在不同类型的网络和硬件下产品的兼容性。

贝塔测试由软件的最终用户们在一个或多个客户场所进行。与阿尔法测试不同,开发者通常不在贝塔测试的现场,因贝塔测试是软件在开发者不能控制的环境中的“真实”应用。

用户贝塔测试过程中遇到的一切问题(真实在或想像的),并且定期把这些问题报告给开发者。接收到在贝塔测试期间报告的问题之后,开发者对软件产品进行必要的修改,并准备向全体客户发布最终的软件产品。

在B2B环境中,贝塔测试通常包含以下4个方面。

  • 确定一小群“种子”客户,这群客户常被称为领先客户或领先用户。
  • 构建一个测试计划,并确定产品开发、市场营销、销售和产品管理中的关键角色和职责。测试计划要包含试验的持续时间和试验后处置结果。
  • 客户与产品公司之间的合同包含项目计划,以便客户能明白目标、持续时间和延期补偿。另外,保密条款也应该包括在内。
  • 客户应该了解要测试什么及如何反馈结果。团队需要确保能收集客户数据,能组织任何最后的访谈,并能把产品带回实验室。

验收测试要通过一系列黑盒测试。验收测试一般根据产品规格说明书严格检查产品,逐行逐字地对照说明书上对软件产品所做出的各方面要求, 确保所开发的软件产品符合用户的各项要求。

通过综合测试之后,软件已完全组装起来,接口方面的错误也已排除,软件测试的最后一步——验收测试即可开始;验收测试应检查软件能否按合同要求进行工作,即是否满足软件需求说明书中的确认标准。

验收测试同样需要制订测试计划和过程,测试计划应规定测试的种类和测试进度,测试过程则定义一些特殊的测试用例,旨在说明软件与需求是否一致。

无论是计划还是过程,都应该着重考虑软件是否满足合同规定的所有功能和性能,文档资料是否完整、准确人机界面和其他方面(例如,可移植性、兼容性、错误恢复能力和可维护性等)是否令用户满意。

验收测试的结果有两种可能,一种是功能和性能指标满足软件需求说明的要求,用户可以接受;另一种是软件不满足软件需求说明的要求,用户无法接受。项目进行到这个阶段才发现严重错误和偏差一般很难在预定的工期内改正,因此必须与用户协商,寻求一个妥善解决问题的方法。

大型通用软件在正式发布前,通常需要执行Alpha和Beta测试,目的是从实际终端用户的使用角度,对软件的功能和性能进行测试,以发现可能只有最终用户才能发现的错误。

三、伽马测试

伽马测试是终级测试,测试之后,该软件几乎就是上市的最终版本了;此时,不再进行软件的功能开发或改进。

在这一阶段唯一可能修改的是限定范围内的代码错误,当该软件已经准备好发布且能够满足各类要求后,就开始进行伽马测试,测试时无须进行其他任何内部测试。

除了在开发周期时间极短、上市速度要求极快的高压情境下(由于伽马测试并不常见,因此在此不做太多赘述)。

最后下面是我整理出来的一份软件测试工程师发展方向知识架构体系图。

希望大家能在这个成长过程中收益良多。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

由于CSDN上传图片大小有限,有需要的朋友可以关注我的公众号:程序员二黑,回复1,即可获取原图。

下面是一份配套的软件测试资源包:


上面是一些配套资源,这些资源对于软件测试的的朋友来说应该是最全面最完整的备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。关注我的微信公众号:程序员二黑,即可免费获取!

最困难的时候,也就是我们离成功不远的时候!如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们的群:785128166 大家一起讨论交流学习。

如果您觉得文章还不错,请 点赞、分享、在看、收藏 一下,因为这将是我持续输出更多优质文章的最强动力!

精彩推荐

在职阿里6年,一个29岁女软件测试工程师的心声

拒绝B站邀约,从月薪3k到年薪47W,我的经验值得每一个测试人借鉴

公司新来的阿里p8,看了我做的APP和接口测试,甩给了我这份文档

你必须要知道的软件测试3个主流方式相关推荐

  1. 备战 ‘金三银四’ 必备超多软件测试面试题全在这里

    下面小编为大家整理了18个常见的问题,一起来学习吧!记得点击收藏哦 自己还整理了一些面试合集有需要的可以查看文章最后 1.问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解 ...

  2. 你会采取什么方法改进你的测试用例_软件测试面试时常考的几道面试题

    问:你在测试中发现了一个  bug ,但是开发经理认为这不是一个  bug ,你应该怎样解决. 1.将问题提交到缺陷管理库里面进行备案. 2.要获取判断的依据和标准: 根据需求说明书.产品说明.设计文 ...

  3. 我的面试题-软件测试基础

    软件的生命周期(prdctrm) 计划阶段(planning)-〉需求分析(requirement)-〉设计阶段(design)-〉编码(coding)->测试(testing)->运行与 ...

  4. 软件测试面试题(每日一刷)

    软件的生命周期(prdctrm) 计划阶段(planning)-〉需求分析(requirement)-〉设计阶段(design)-〉编码(coding)->测试(testing)->运行与 ...

  5. 又来啦 11道软件测试经典面试题

    1.在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试. 建立测试计划,确定测试标准和测试范围 设计典型场景的测试用例,覆盖常用业务流程和不常用的业务流程等 根据测试用 ...

  6. 软件测试面试101问(附答案)

    前言 前阵子一位读者告诉我,某位大厂HR给他发了我之前做的面试题答案合集. 这个消息让我开心了一整天,因为这说明我之前做的面试题系列真的能帮助到部分测试同学,也算是侧面得到了一种认可吧. 今天写的这份 ...

  7. 2020最新各大厂面试遇到的100道软件测试面试题+答案纯干货!! 金九银十到了 快点看!!!

    [纯干货!!!]花费了整整3天,整理出来的全网最实用软件测试面试大全,一共100道题目+答案的纯干货,希望大家多多支持,建议 点赞!!收藏!!长文警告,全文共12000+字,涵盖软件测试面试可能遇到的 ...

  8. 2023年比较经典的软件测试工程师面试题(自我总结)

    这边推荐你去看一下这套专门讲解面试和简历的视频,主打面试题,接口-web-app全套视频面试题,还有配套的笔记! 这个视频可以说是B站百万播放全网第一的面试教程,同时在线人数到达1000人,并且还有笔 ...

  9. 大环境之下软件测试行业趋势能否上升?

    如果说,2021年对于全世界来说,都是一场极大的挑战的话:那么,2022年绝对是机遇多多的一年.众所周知,随着疫情在全球范围内逐步得到控制,无论是国际还是国内的环境,都会呈现逐步回升的趋势,各行业的机 ...

  10. 现在这么卷,软件测试的岗位会越来越少吗?

    先抛出我的观点: 软件测试的岗位不会越来越少,但要求却会越来越高. 接下来我将来论证我的观点. 为什么测试岗位不会越来越少? 1.谈谈测试对企业的价值,看测试岗位为什么不会少 作为软件企业而言,其核心 ...

最新文章

  1. vijos 1476 旅游规划题解
  2. axure rp pro 6.5
  3. Kettle提高表输出写入速度(每秒万条记录)
  4. Golang Context包的使用
  5. PHP语言文件,最有效的方法来做PHP语言文件?
  6. 计算机入会大会新生发言稿,新生大会发言稿(精选3篇)
  7. spring boot几个初始配置文件
  8. python与线性代数 线性方程组的解集
  9. 我见过不少赚了钱,投资孵化一堆店铺的,一般而言后续发展都会出问题的
  10. MacBook telnet安装
  11. asp.net本质论学习笔记第一章
  12. 角度标注-Visio制图总结(四)
  13. 将数据库中的表结构导出到excel中(写数据库设计说明书)
  14. 7-5 华氏度转摄氏度(四舍五入) (5分)_PTA_Java基础练习
  15. Hey~程序员,你的桌面风格该换了
  16. 火箭联盟修改车重教程,国服Wegame平台和外服Steam平台通用方法
  17. 帮你抢小游戏流量红利——360小游戏接入指南
  18. 毕业答辩PPT制作和讲述要点
  19. 系统集成项目管理(软考中级)第一章信息化知识
  20. 给您支招,万网域名一元购,不再是梦

热门文章

  1. 小牛叔讲Python第6章:for循环-能计数的循环1234567
  2. UOJ #60. 【UR #5】怎样提高智商
  3. yarn install报网络问题
  4. 软考云题库Web版正式上线了
  5. Kibana启动报错 server is not ready yet的解决方案
  6. 如何写一篇数据分析报告3 - 分析背景是什么
  7. js判断域名是否是合法http/https
  8. 定义一个鸭子的类java_鸭子类型:一切都是为了复用
  9. S32K144(12)FTM
  10. python挑选以元音字母开头的单词_帮我总结一下,元音字母开头但是读音是辅音的英语单词例如uniform看上去应该是anuniform但事实是auniform的...