当我们不确定哪里应该重点测试,或应该做什么样的测试,请分析用户是如何使用我们的产品的。 因为了解这些可以帮助我们改进测试工作。本文探讨了如何利用用户数据来指导优化UI自动化测试和兼容性测试的实例。
实例1:项目A,UI自动化测试
2016年7月,在部门项目A中,我们的后台接口自动化测试已经能基本满足日常工作需要,但是客户端测试仍极大得依赖于手工测试,是时候开始UI自动化测试了。UI自动化测试是相当昂贵的,我们选择了公司内部的一套测试框架,采用团队成员比较熟悉的Python脚本语言来编写用例,测试框架对用例集的管理,用例的执行和维护上有良好的支持,并能低成本的接入公司的集成发布平台。我们花了半年时间,实现了iOS/Android双平台各200+用例数,并做到了每日构建每日测试。
进入2017年,我们面临新的问题:熟语说,攻城容易守城难,如何低成本高收益得将自动化测试持续下去是个难题。我们非常清楚新增加一条自动化用例脚本的时间成本有限,但后期的维护成本不能忽视,同时UI自动化用例数量也不是越多越好。哪里应该自动化?如何确保不会过度自动化?在继续前行之前我们必须回答上述的问题。经过一段时间的思考后,我们决定回到用户这里来寻找答案。
作为一家服务性的公司,产品以服务的方式提供给用户,所以我们一切工作都要以用户价值为依归,公司要求每一位员工,都应该时刻保持对市场及用户需求的敏感,重视用户体验,并从中不断思考与总结,使我们的工作真正围绕“用户价值”这个核心,而不至于闭门造车,孤芳自赏。作为测试人员,更加需要了解用户是如何使用我们的产品的,围绕核心的产品使用场景,来制定我们的测试策略。
我们的产品每新增一个特性,会有对应的上报日志,跟踪用户的操作行为。我们收集了其中有价值的部分,并计算其数量。这些数据会告诉我们,用户最常用的登录方式,最常用的功能,最典型的产品使用场景。也验证了我们的猜测,80%的用户仅仅使用最核心的20%的功能(二八定律),这个信息可以帮助我们重点关注那20%功能的自动化。除了自动化测试,冒烟测试,性能测试等都可以从中受益。
实例2:项目B,兼容性测试
项目B的产品在海外多个国家和地区发布,用户使用产品的环境,受其所在国家软硬件发展的影响,和国内用户环境是不同的。而测试人员在办公室测试产品,尽管无法真实模拟用户的环境,但是仍需要尽量去覆盖,避免问题跑到用户那里,这里很重要的一个测试类型就是兼容性测试。对于Web类型的产品,需要考虑的是浏览器的兼容性测试,我们收集用户所使用浏览器的占比,选择总占比85%的几种浏览器进行测试,对于浏览器版本很低的用户,会提醒其版本过低,建议用户升级以获得更好的产品体验,经过几个月时间,有部分用户升级了浏览器版本。在不增加测试工作量的前提下,用户体验改善了,兼容性测试的覆盖度也进一步提升了 。
上面的策略对于移动平台的兼容性测试是无效的,我们不可能让用户换机,所以我们需要尽可能多地使用我们的用户所使用的机型来进行测试。 这种情况下,对用户机型数据进行分析是非常有用的。我们定期采购最受欢迎的机型进行测试,对于比较受欢迎的机型和长尾的机型,我们借助公司内部的兼容性团队以及各种云测试平台、众测平台去覆盖尽量多的机型。
后台升级版本,测试人员需要测试现网几个客户端版本对后台的兼容性。通过分析客户端版本的占比,我们发现一个版本的用户只有几十个人,总占比不到1%,而其它两个版本的用户数超过99%,因此我们调整了测试策略,对于用户量不到1%的客户端版本仅简单检查基本功能是否可用,大概不超过10分钟的时间,而其它两个版本按照原测试方案进行详尽测试,我们节省了原计划的1/3的测试时间。
我们经常需要根据用户的反馈来优化我们的产品,比如用户反馈使用某个功能很慢,测试人员在办公室测试也确实发现存在问题。传统的测试方案是对比优化前后版本的性能数据,以验证是否真正达到预期。更好的做法是统计现网的用户数据,我们知道测试样本数越少,其准确性是越低的,测试人员在办公室得到的数据是不足以代表整个用户数据的,从技术角度是非常容易被挑战的。但是用户的大数据就不同了,能真实得反应用户的体验。比如优化前60%的用户数据落在表现优秀的区间,优化后80%的用户落在表现优秀的区间,那么显然优化是有明显效果的,提升了 20%用户的产品体验。
用户数据能帮助技术人员有理可依地展开工作,同时也能帮助验证工作成果,期待有更多这块内容的分享出现。
相关推荐
这种测试可以帮助团队了解用户的需求和期望,识别潜在的问题领域,并改进产品的整体可用性和满意度。 #### 二、为何要进行用户体验测试? 1. **市场角度**:随着技术的发展,市场上可供选择的产品越来越多,用户的...
### 聚焦于用户体验的软件工程技巧 #### 第1章 软件工程与用户...接下来的章节将进一步探讨用户体验测试与评估、用户体验与产品价值以及总结与展望等内容,帮助读者全面掌握如何构建以用户体验为中心的软件工程项目。
在IT行业中,软件测试是一项至关重要的任务,它确保了产品的质量、稳定性和用户体验。这个压缩包文件的主题聚焦于“软件测试书籍打包”,意味着它包含了关于软件测试的各种学习资源,可能是电子书、教程文档或者课程...
在“2021全国大学生测试总决赛移动应用测试案例”中,参赛者们聚焦于现代移动应用的质量保证,特别是利用自动化测试工具进行测试的方法。在这个场景下,我们重点关注两个核心技术:Appium 和安卓SDK(Android ...
测试的目的是确保软件的质量,防止缺陷在产品发布后对用户造成影响。测试类型主要包括功能测试、性能测试、兼容性测试、安全性测试和用户体验测试等。而测试策略则涉及如何有效地组织和执行测试,如采用黑盒测试、...
在IT行业中,软件测试是一项至关重要的任务,它确保了产品的质量、可靠性和用户体验。"测试入门--7单元测试"这个主题聚焦于单元测试这一特定的测试方法,它是软件开发过程中的基础环节。单元测试是对软件中的最小可...
- **意义**:这种方法确保了测试内容与用户实际使用场景相符,提高了测试的有效性和实用性。 ##### 4、测试项目 - **系统安装与卸载** - **内容**:包括了软件的安装和卸载测试。 - **方法**:按照使用说明书中...
软件测试是确认软件产品质量的活动,其目标是发现软件中的缺陷并提出改进建议,以保证软件产品满足用户的需求。软件测试的目标是双重的,既包括寻找软件缺陷,也包括为开发团队提供关于产品质量的反馈。 选定测试...
通过诺基亚显示器测试软件,用户不仅可以了解自己显示器的真实性能,还可以根据测试结果进行相应的调整,从而提升显示器的整体表现,创造出更佳的视觉环境。这款软件对于任何希望优化显示器性能的人来说,都是一个...
- Monkey测试是一种随机的黑盒测试方法,通过模拟用户随机输入来发现app的不稳定性和崩溃情况。 - `monkey`命令通常在Android设备或模拟器上使用,可以生成各种触摸、滑动、按键等事件。 - 参数调整可以控制事件...
根据提供的文件信息,以下是从这些资源中提取和总结的关键知识点,主要聚焦于软件测试的基础理论。 ### 测试基础知识概述 #### 1. 软件测试定义 - **定义**:软件测试是一种评估或验证软件产品以确定其是否符合...
黑盒测试,顾名思义,测试者无需了解被测试软件的内部构造和工作原理,而是通过模拟用户的操作行为,来检验软件的功能性和用户界面的友好性。为了更具体地说明黑盒测试的应用,我们以一个典型的登录界面测试为例。 ...
对于初学者来说,掌握xtest的使用不仅能提升测试技能,还能更好地理解和实践敏捷开发原则,确保软件项目的质量和可靠性。通过深入学习提供的学习资料,你将能够熟练地运用xtest进行自动化测试,为你的开发工作保驾...
测试前的输入条件涵盖了测试设计说明、产品规格、模块使用说明等关键文档,确保测试人员对测试对象有全面了解。测试准备阶段则聚焦于测试大纲、设计和用例的制定,为实际测试提供清晰指导。这一阶段强调了跨部门沟通...
总结来说,这个教程将带你深入了解Web测试的实际操作,特别是通过TestDirector工具来进行有效管理。同时,你将学习如何设计和执行功能测试用例,以及如何编写专业测试报告。这将为你的职业生涯提供坚实的基础,无论...
- 评估软件质量:通过对测试结果的分析,我们可以了解软件的稳定性和可靠性,给出质量评价。 - 为未来测试提供参考:分析测试过程、产品、资源和信息,可以帮助我们改进测试计划和策略。 - 评估测试执行与计划的...
总的来说,了解和使用优盘速度测试软件可以帮助用户确保他们的存储设备达到预期的性能水平,同时在选购新设备时提供参考依据。通过定期测试,还可以监控设备的性能变化,预防潜在的问题,比如由于存储单元老化导致的...