一、什么是软件测试
软件测试是一项旨在保障软件质量的服务,软件测试只能证明一个软件存在缺陷,却不能证明一个软件存在缺陷。软件测试不仅旨在保证软件的质量,保证软件质量、提高交付频率变成了相辅相成的目标。保证软件的质量是基础目的,提高交付频率是根本目的。
软件测试是为了寻找软件的错误和缺陷,提高软件的质量和交付频率,因此所有的软件后应该追寻到用户需求,无论是用户明确的显性需求,还是一些系统安全、系统兼容、性能等的隐形需求。
二、业务测试
业务测试的侧重点在业务流程上,在基本功能模块都合格的基础上,准确并组合多种测试数据,驱动或辅助在各种约束条件下的业务流程测试,确定最终输出的结果符合预期。
业务测试很多需要结合实际业务逻辑,黑盒、白盒、灰盒这些测试方法来辅助测试。更要站在真实用户使用的角度提出问题、给出建议、从而优化程序。
如何开展业务测试?
1、需求测试
在需求提出的时候,测试人员不能认为提出的需求是完全正确、没有问题的、需要对需求设计的正确性、合理性、实施性进行测试
2、设计测试(这个地方需要的系统知识)
除包含常规的测试设计、测试用例盒测试准备等工作,测试人员设计应同时包含对系统的设计
设计测试应注重检查系统设计的特性
必要性:每处设计要有目的,要满足需求而设计,不能存在无谓的设计
正确性:检查每处设计是否正确、合理、能够实现想要的功能
最优性:检查每处设计是否位相对简单、高效的设计
3、过程测试
过程测试可分为:分层测试、外部解藕、流程仿真等
(1)分层测试
分层测试不依赖于完成系统,可以通过直接调用底层接口进行测试,这样就不用等到系统开发完才能测试
数据层测试:数据层测试对数据库中的原始数据及聚合数据的准确性进行验证,确保不会因为数据问题而产生bug
API层测试:验证服务器返回的数据是否正确;验证服务器将数据进行运算并返回是否正确;验证传输的数据准确性(对特殊数据进行处理),保证接口层正确
UI层测试:通过覆盖系统所有逻辑路径保证数据展示是否正确(这里其实就是验证页面展示相应数据)
(2)外部解藕
外部依赖有时候是阻碍测试进度的一个主要原因,但是一个系统的运行往往离不开外部系统的依赖,如:网络环境、消息依赖、数据依赖、运行环境依赖等
个人认为如果是网络环境的话,我们可以使用第三方工具来模拟无限、3G、4G网络等;如果是消息依赖也是模拟一个外部消息发送的工具;总之根据实际业务尽可能的模拟所需要的环境
(3)流程仿真
4、用户体验
在保证业务逻辑正确的情况,所有的项目都要对用户体验进行测试;尤其是电商平台。但是其他平台也需要重视;那么用户体验可以从以下几个方面进行考虑:
(1)应用性
应用性要考虑是否符合用户的实际场景,这就要求针对使用的用户群体,对他们的年龄、学历、技能、职业等因素考虑,要具备通用型
(2)易用性
需要检查是否易理解、易学习、易操作、例如:用词要简单和易理解,不能太专业,降低用户的理解难度;操作简捷,不要过于烦琐,降低用户的抵触情绪,最好是不需要用户考虑就可以直接操作
(3)少选择
给用户的选择要尽量少,即界面菜单、按钮、选项越少越好,减少用户的困惑。
5、界面测试
界面是网站和用户交付最直接的层面。界面的好坏决定了用户对网站的第一印象。良好的设计界面可以引导用户自己完成相应的操作,起到向导的作用。好的界面可以给用户带来轻松喜悦的感受或者成功感受。
那么我们界面测试需要关注的是那些方面?
(1)导航测试
导航一般位于界面顶部和侧边区域。导航的作用是链接站点内的各个方面。导航测试可以中以下方面进行测试:
@导航是否直观?是否易于导航?
@导航、链接、界面的结构和风格是否一致?
@导航的文字是否用于准确?意思表达是否简单明了及准确
@链接的页面是否正确
(2)图片测试
图片测试包含图片、动画、边框、颜色、字体、背景或者按钮等。图片测试可以从以下几个方面进行:
@需要保证图片有明确的用途。
@页面中的字体和颜色以及页面的设计格式要保持一致
@图片的质量与大小也是否合理(不要使用模糊不清的图片)
(3)展示测试
展示测试用于检验页面展示的所有的内容是否正确,大小是否符合,是否符合大众行为习惯。
@验证提示语是否准确、合理
@验证窗口调整大小后展示内容是合理、正确
@验证本地化是否正确【本地化指的是是否符合当地的同类产品,然后相应的改造自己的产品和服务,使之看起来如同本地化产出的一样】
@验证标题及检查错别字
(4)内容测试
内容测试用于检查信息的准确性、正确性与相关性
@验证传输的信息是否可靠
@验证传输的信息的语法和拼写是否正确
(5)合理性测试
@验证页面布局是否合理
@验证各个控件是否合理、是否可编辑
@验证提示框页面是否合理
6、浏览器兼容测试
浏览器兼容是衡量一个系统是否成熟稳定的重要指标。那么如何才能充分测试浏览器兼容性测试呢?
首先,了解什么兼容性问题。浏览器兼容问题又称为网页兼容性问题或者网站兼容性问题,是指网页在各个浏览器上显示效果可能不一致而产生浏览器和网页间的兼容性问题。出现这种情况的原因是因为不同的浏览器内核及所支持的HTML等网页语言标准不同,并且用户客户端的环境不同(如分辨率),因而显示的效果也不同。
其次,需要了解当前有哪些主流浏览器,要覆盖主要的浏览器内核。【火狐是gecko核心、IE是trident核心、谷歌浏览器的webkit核心、360极速版、超速版、傲游4、搜狗 都是主要用webkit 辅以trident】
在测试过程中,需要对以下界面功能进行兼容测试:
@业务与功能结合的异步交互
@功能按钮(增加、删除、修改、查询、导出、导入、超链接、清空)等
@日期和时间控件,搜索控件
@有特殊功能的图标
本文内容来 《自京东质量团队转型实践(从测试到测试开发的蜕变)》