软件测试基础及过程 - 测试之道

“工作一些年,今天小写一篇技术相关的文章,一来为自己测试生涯做一个技术小结,二来为即将从事软件测试的同学一个科普指导,文章只是大的框架,如果有需要详细了解,欢迎和我讨论研究。”

 

    软件研发一般要经过客户需求收集、需求分析与澄清、软件设计、软件开发、版本构建、软件测试、客户质量验收等过程,软件测试是根据产品需求和相关质量标准以及规范进行的质量评估和过程改进活动。

 


一、常见的软件测试概念

 

1、测试对象

 

    CS:Client/Server 客户端/服务器架构

    BS:Browser/Server 浏览器/服务器架构

    Web测试:网页测试

    Client测试:客户端测试

    Mobile测试          

      ①移动端本身和自带软件测试

      ②手机上第三方应用测试

 

2、测试根据验证质量属性的不同有如下分类

 

(1)功能测试

对产品的功能进行验证,可以通过手工测试、界面自动化测试、接口自动化测试的方法,对业务逻辑、界面配置、网络接口通信进行验证

 

(2)非功能测试

 

易用性测试:

程序和文档的易理解性、易操作性、易学性

 

兼容性测试:

硬件兼容:终端/服务器硬件

软件兼容:操作系统/浏览器

数据兼容:低版本数据向上兼容

升级兼容:低版本升级至高版本,网络对接与运行正常,业务平滑迁

 

安全测试:

验证系统的机密性、完整性、可用性、抗攻击性等,消减威胁,防止黑客入侵

 

性能测试:

狭义:验证系统满足负载需求的各项性能指标是否达标

广义:负载、压力、容量、稳定性、用户数、流量等

 

用户体验测试:

测试人员在将产品交付客户之前处于用户角度进行的一系列体验使用,如:界面是否友好(吸引用户眼球,给其眼前一亮)、操作是否流畅、功能是否达到用户使用要求

 

 

二、软件测试会经历的阶段

 

1、需求和软件设计规格的理解

 

    测试人员一般会拿到软件需求说明书、软件设计规格、产品文档,只有充分的理解需求和设计规格,才能更好的开展测试设计工作

 

2、测试设计

 

    对需求和设计规格进行深入理解后,已经明确测试的范围,如需要测试哪些模块的功能、需要测试哪些性能指标、是否涉及安全测试、是否需要兼容性测试等等,然后结合软件测试方法,如黑盒测试当中的等价类划分法、边界值分析法、判定表方法、因果图法、正交试验法、功能图法、错误推测法,进行测试方案和测试用例设计,根据开发交付节奏,制定软件测试策略,输出软件测试方案、测试策略和测试用例列表。

 

3、测试执行

 

    测试执行的前提需要做好测试设计,深入理解测试方案、策略和用例,根据这些测试输入,向开发获取软件包,进行环境搭建,根据测试用例的预置条件进行环境配置,根据测试步骤进行测试点的验证,如果测试结果和预期结果相同,那就测试通过,如果测试结果和预期结果不同,那就测试不通过,记录好测试发现的问题,将测试问题汇总起来,方便跟踪与闭环。一般企业会通过“禅道”来记录测试发现的问题,当开发人员解决问题后,测试人员会进行回归验证,并记录验证结论。

 

4、测试报告

 

    当所有测试用例执行完成后,根据测试问题跟踪表,对本次测试过程进行质量评估和改进,分析各项质量属性的满足度,分析软件缺陷分布,提出有效的改进意见,形成测试报告,推动设计和开发闭环。

 

三、总结

 

    软件测试的过程是对客户需求和设计规格深刻理解的情况下,完成测试设计与执行以及测试报告输出的过程,要想做好软件测试,必须懂得产品的业务、测试环境搭建、测试方法运用、测试工具的使用、测试问题的识别与感知,测试人员与开发人员、设计人员的充分沟通与问题确认,测试问题的回归验证,软件质量的整体评估。

 

 

******************************************************************

 

扫一扫下图二维码添加白客工作室官方微信,有学习相关的问题可以咨询我们,知无不言!

软件测试基础及过程 - 测试之道

或者关注我们的新浪微博“白客工作室WHS”,同样有学习相关的问题可以咨询我们。

软件测试基础及过程 - 测试之道

 

联系电话 :18066842891
官方微信 :18192815272(白客工作室)
官方QQ   :2151347662