配色: 字号:
微软软件测试自动化
2019-04-19 | 阅:  转:  |  分享 
  
SDM212SDM212

微软软件测试自动化微软软件测试自动化



王志峰(JeffWang)

jeffwang@microsoft.com

BizTalkServer

MicrosoftCorporation

提要提要



??微软的软件测试微软的软件测试

??一个完善的自动化测试系统一个完善的自动化测试系统

??自动测试用例设计要点自动测试用例设计要点

??测试用例的管理和运行控制测试用例的管理和运行控制

?提高软件测试自动化的步骤软件测试自动化的步骤

??测试自动化误区和风险测试自动化误区和风险

什么是软件测试?--两种经典理念



验证软件是验证软件是““工作的工作的””

代表人物是软件测试领域的先驱Dr.BillHetzel

(代表论著《TheCompleteGuidetoSoftware

Testing》)

主流和行业标准

微软软件测试活动的基础和主要线索

证明软件是证明软件是““不工作的不工作的””

代表人物是GlenfordJ.Myers(代表论著《The

ArtofSoftwareTesting》)

一个成功的测试必须是发现Bug的测试,不然就没

有价值

微软也阶段性地进行这类测试活动(BugBash)

什么是微软的软件测试什么是微软的软件测试



是软件开发的依赖是软件开发的依赖

每日建造+自动化测试

开发人员依赖测试来保证开发工作的质量,使开

发整体地协调地向前推进

是项目管理的基础是项目管理的基础

软件项目管理的主要线索就是Bug的管理

软件测试的结果是项管理和决策的主要依据

一个完善的自动化测试体系一个完善的自动化测试体系





测试用例管理分析报告

测试用例的定义,单运行结果报告,

设置,分类多运行综合报告,

和组合运行长期走势报告

开发环境

开发语言,库程序,

驱动程序,开发工具



运行环境代码管理

机器池,自动安装

存储,编译

和配置,运行





硬件,基础设施

实验室,机器,网络……

实例实例





Log

测试用例设计:测试用例设计:BizTalkBizTalkSQLSQLAdapterAdapter





BizTalk应用



XMLSQL表

MessageAdapter表





SQL数据库

BizTalk服务器

测试用例运行步骤测试用例运行步骤::

前提

验证BizTalk已安装设置好

验证SQL数据库在运行

设置

在BizTalk中设置一个使用SQLAdapter的应用

在SQL数据库中建立测试表格

运行

生成一个预定格式的Message:XML字符串

将Message发送给BizTalk

验证

访问SQL数据库,验证数据到达无误

验证系统日志中无意外事件

清理

删除BizTalk中的应用

删除SQL中的表格

其他意外情况下的特殊清理

自动化测试的核心自动化测试的核心——测试代码测试代码



自动测试用例



测试用例代码

测试

工程师

功能特有

工具库



产品特有系统测试设计

工具库工具库工程师





产品公共测试工具

自动测试程序设计要点自动测试程序设计要点

对前提条件进行验证对前提条件进行验证

能处理各种可能的意外,并对有关设置进行彻能处理各种可能的意外,并对有关设置进行彻

底清除,以不影响后续测试用例的运行底清除,以不影响后续测试用例的运行

各测试用例有相对独立性,不相互依赖,便于各测试用例有相对独立性,不相互依赖,便于

进行各种运行组合进行各种运行组合

有好的日志有好的日志

设计简洁,代码可读性高设计简洁,代码可读性高

易于运行易于运行

稳定性重于性能稳定性重于性能

具有一定的灵活性,能快速适应产品功能设计具有一定的灵活性,能快速适应产品功能设计

的更改的更改

测试用例的分级,及运行频度测试用例的分级,及运行频度



BVT第一级第二级高级



定义最简单的所有非出所有出错压力,性

功能验证错情形下情形下的能,安全

的代码路代码路径性……



运行频度每日隔日每周根据需要





注:BVT是BuildVerificationTest的缩写

测试用例管理测试用例管理



测试用例测试用例——最小的设置单元最小的设置单元

测试用例组合测试用例组合——一系列的测试用例,可以包含其一系列的测试用例,可以包含其

他测试用例组合。是可运行和报告的基本单元他测试用例组合。是可运行和报告的基本单元



测试报告测试报告



高级自动化的关键高级自动化的关键----硬件的管理硬件的管理

实验室,自动测试机器池实验室,自动测试机器池

动态的选用测试机器动态的选用测试机器

自动安装测试平台自动安装测试平台

监控机器工作状态监控机器工作状态

支持测试工具,进行多机协同运行支持测试工具,进行多机协同运行

测试自动化的发展阶段与计划测试自动化的发展阶段与计划



无自动测试自动测试初自动测试发自动测试成自动测试高

阶段始阶段展阶段熟阶段级阶段



无自动测试用有脚本文件驱有部分测试用大量测试用例有高水平的测

特征例,测试工作动的半自动测例全部自动化全部自动化试开发人员,

全部手工操作试有机算计软件有自己开发的测试架构师

非专业人员从无机算计软件专业人员从事共用代码库有高度自动化

事测试专业人员从事测试代码的开有测试用例自的实验室系

测试发,使用动运行系统,统,和专业的

无工具,无实Java,C#语言并与产品建造系统管理队伍

验室使用工具和专系统项结合有完善的自动

门的实验室测有测试报告和化测试流程

试环境统计分析服务能对外提供自

动测试的商业

服务

培训和引进人培训和引进机培训和引进高培训和引进测

计划和才算计软件专业级编码人才试设计和架构

措施人才由开发人员帮人才

尝试测试工具助设计测试代进一步提高实

建立实验室码库验室系统

系统的选择使建立流程模型

用和整合各种和商业服务模

工具型

测试自动化的风险测试自动化的风险

代价高,所以要根据项目的特点,团队技术水代价高,所以要根据项目的特点,团队技术水

平确定适当的自动化率平确定适当的自动化率

测试覆盖偏向易于自动化的功能。要进行代码测试覆盖偏向易于自动化的功能。要进行代码

覆盖率的度量覆盖率的度量

错误的测试设计可能使测试情境与用户使用情错误的测试设计可能使测试情境与用户使用情

境相背离境相背离

忽视第二类以搜寻缺损为目的的探索性测试忽视第二类以搜寻缺损为目的的探索性测试

工具的选用不当,过多过杂,频繁更换。工具的选用不当,过多过杂,频繁更换。

产品的可测性低产品的可测性低

参考资料参考资料



微软的软件测试方法微软的软件测试方法

http://www.chinapmclub.com/forums/8172/ShowPost.aspx

问题?问题?





谢谢大家!欢迎交流!谢谢大家!欢迎交流!

请填写反馈意见表请填写反馈意见表
献花(0)
+1
(本文系别让梦冬眠首藏)