




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PPT模板下载: 接口级自动化测试与质量意识 陈 鹏挑战未来目 录C#接口级测试Android 界面测试质量意识自动化测试分层自动化测试分层u按照测试层次,可分为单元测试、接口及组件级测试、UI系统级测试u问题:我们目前在项目组中做了哪一层的自动化测试?效果如何?单元测试接口及组件测试UIC#接口级自动化测试接口级自动化测试uNUnit : 作为作为xunit体系中的一员,在体系中的一员,在C#项目的单元测试工具中,历史最悠久。上手简单。典型代码逻辑如下项目的单元测试工具中,历史最悠久。上手简单。典型代码逻辑如下:using NUnit.Framework;using HIPS.HSPS.Da
2、taContract;using MySql.Data.MySqlClient;using System.Windows.Forms;namespace HIPS.HSPS.DataService.Tester.PrintProxy TestFixture public class TestPrintProxy Test public void GetReportByBarCodeTest() var request = new DataContract.Request(GetReportByBarCode, 123811); ResponseSystem.Collections.Generi
3、c.IEnumerable reports = WcfClientServiceManager.Instance.SdpReportService.GetReportByBarCode(request); System.Collections.Generic.IEnumerable enumerables = reports.RspBody; Assert.AreEqual(enumerables.Count(), 0); Test public void StartPrintTest() C#接口级自动化测试接口级自动化测试u执行方式:执行方式:一键式、命令行一键式、命令行持续集成流程与全院
4、版本自动安装持续集成流程与全院版本自动安装获取最新代码代码静态检查编译打包自动部署单元测试自动化测试发布结果当前移动端测试工具简介当前移动端测试工具简介uMonkeyRunner :android SDK 自带的测试工具,google开发,更新少,只支持原生android应用,应用很少。 uMonkey : android 稳定性测试工具,通过发送伪随机的命令对于应用进行测试。应用面偏窄。uUiAutomator : 仅支持原生的android应用测试,只能做黑盒,接口偏少,用于场景测试显得能力不足。uRobotium : 在android 2 时代便随着android一起更新,可用于黑盒以及
5、白盒测试,目前应用最广。uAppium : 既可测试android也可以测试IOS,selenium 创始人开发,目前稍显能力不足,未来的王者。Robotium框架及实例框架及实例u 开源库Robotium为了弥补ActivityinstrumentationTestCase2(Android单元测试框架Instrumentation的一个类)对集成测试支持的不足而编写的Robotium框架及实例框架及实例public class MeituanWelcomeTest extends ActivityInstrumentationTestCase2 private Solo solo; pri
6、vate static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = com.sankuai.meituan.activity.Welcome; private static Class launcherActivityClass; static try launcherActivityClass = Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME); catch (ClassNotFoundException e) throw new RuntimeException(e); public voi
7、d setUp() throws Exception super.setUp();solo = new Solo(getInstrumentation();getActivity(); Robotium框架及实例框架及实例public void testWode() / Wait for activity: com.sankuai.meituan.activity.Welcomesolo.waitForActivity(Welcome, 3000);/ Set default small timeout to 166937 millisecondsTimeout.setSmallTimeout
8、(166937);/ Click on 取消solo.clickOnView(solo.getView(android.R.id.button2);/ Click on 我的solo.clickOnView(solo.getView(mine);TextView view = null;view = (TextView)solo.getView(login);System.out.println(now is : + view.getText();assertEquals(view.getText(), 登录登录);/ Press menu back keysolo.goBack();solo
9、.waitForDialogToOpen(5000);solo.goBack();质量意识质量意识u 因因 缘缘 果果 原理原理u系统、开发、测试系统、开发、测试 在因在因-缘缘-果系果系统中的定位统中的定位u我们如此关注我们如此关注“因因”,是想要一,是想要一个好的成果个好的成果质量意识质量意识u 设计、编码阶段设计、编码阶段1、 模块之间通信,不回响应、超时、错误响应模块之间通信,不回响应、超时、错误响应 怎么处理,不能出现业务主线程挂起。重要消息是否有失败重怎么处理,不能出现业务主线程挂起。重要消息是否有失败重试机制,反复失败的情况下,是否有持久化机制;试机制,反复失败的情况下,是否有持
10、久化机制;2、 采用多线程的模块,是否有线程池上限的设置,是否需要做流控,是否存在系统资源被耗尽的风险;采用多线程的模块,是否有线程池上限的设置,是否需要做流控,是否存在系统资源被耗尽的风险;3、 同步、异步机制的选择是否合理,目标吞吐率是多大。异步机制下,是否有必要做回调接口。同步、异步机制的选择是否合理,目标吞吐率是多大。异步机制下,是否有必要做回调接口。u 转测试阶段转测试阶段1、是否做了开发自验证;是否充分、是否做了开发自验证;是否充分2、自验证是否是基于转测试的新版本进行,还是基于自己的补丁环境、自验证是否是基于转测试的新版本进行,还是基于自己的补丁环境3、自验证结果是否有清晰的记录
11、、自验证结果是否有清晰的记录u 测试阶段测试阶段1、开发人员是缺陷单解决的主要责任者。、开发人员是缺陷单解决的主要责任者。2、是否做到了持续跟踪解决缺陷单,是否做到了主动重现问题,是否主动添加日志定位,是否在实在无法重现、是否做到了持续跟踪解决缺陷单,是否做到了主动重现问题,是否主动添加日志定位,是否在实在无法重现的前提下才找测试协助重现,还是被动的等待测试重现的前提下才找测试协助重现,还是被动的等待测试重现3、 提供补丁,是否做到了充分验证;提供补丁,是否做到了充分验证;4、 针对疑难杂症,是否主动的联系上下游(第针对疑难杂症,是否主动的联系上下游(第3方供应者、测试、项目经理)做攻关讨论,
12、并有效闭环。方供应者、测试、项目经理)做攻关讨论,并有效闭环。5、 对缺陷单回归不通过,需要有愧疚感对缺陷单回归不通过,需要有愧疚感质量意识质量意识 错误认识错误认识u 质量是测试人员关注的事情质量是测试人员关注的事情u 我只管写代码就可以了,测试都是测试人员的事情我只管写代码就可以了,测试都是测试人员的事情u 测试不用掌握实现,你问这个干什么,你只管测试就行了测试不用掌握实现,你问这个干什么,你只管测试就行了u 既然转测试版本质量这么差,开发人员做不好自测试,开发人员就不做了,让测试人员在我们转既然转测试版本质量这么差,开发人员做不好自测试,开发人员就不做了,让测试人员在我们转测试前测试一遍
13、吧测试前测试一遍吧u 反面教材:反面教材:某公司的数据库产品:XXXXXXX,PB级的非关系型数据库,存储着中国移动PB级数据。在2012 年 12月份,备份策略误删12TB 数据库,导致永久丢失,中国移动二级投诉。该项目组全体绩效差,项目经理撤职,测试经理离职。特点:开发人员不用做测试,只用写代码,开发人员缺乏整体意识,部分开发人员环境搭建都不熟练,写的代码类似于demo,异常考虑少。测试工作全是测试人员的事情,测试人员频繁纠结于基本功能测试,测试水平低下。测试能力演进测试能力演进1 1、测试人员均是产品专家,、测试人员均是产品专家,对于产品内部的模块划分与实对于产品内部的模块划分与实现细节
14、熟练掌握,可以手工测现细节熟练掌握,可以手工测试,自动化测试较少;试,自动化测试较少;2 2、测试团队、测试团队70%70%以上的时间在以上的时间在功能测试,性能、稳定性、可功能测试,性能、稳定性、可靠性等开展较少;靠性等开展较少;3 3、没有持续集成等工程能力;、没有持续集成等工程能力;4 4、没有取得代码覆盖度等数、没有取得代码覆盖度等数据,没法评估测试充分性;据,没法评估测试充分性;测试高级阶段测试高级阶段测试初级阶段测试初级阶段测试中级阶段测试中级阶段1 1、建成了完善的灰盒、黑盒自、建成了完善的灰盒、黑盒自动化框架,并辅助开发,逐步动化框架,并辅助开发,逐步把功能测试移交到开发团队内
15、把功能测试移交到开发团队内部进行;部进行;2 2、进行充分的性能、可靠性、进行充分的性能、可靠性、稳定性、安全等测试,并可以稳定性、安全等测试,并可以给予评估;给予评估;3 3、具备持续集成等工程能力,、具备持续集成等工程能力,且可有效提高归档、测试效率;且可有效提高归档、测试效率;4 4、可以评估代码覆盖度,并能、可以评估代码覆盖度,并能分析未覆盖代码的风险;分析未覆盖代码的风险;5 5、可以对产品做商用风险评估。、可以对产品做商用风险评估。1 1、测试工作已完全融入团队内每一、测试工作已完全融入团队内每一个人的基础工作中;个人的基础工作中;2 2、测试设计师规划测试范围、风险、测试设计师规划测试范围、风险热图,并分别将这些测试工作分散到热图,并分别将这些测试工作分散到开发人员、内部试用者、早期
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳务外包工合同范本
- 出国援建劳务合同范本
- 动产质押合同范本
- 北京员工劳动合同范本
- 付款方式违约规定合同范本
- 出售库存车合同范本
- 出售造型工具合同范本
- 2024年镇远县妇幼保健院人员招聘考试真题
- 代加工砂浆合同范本
- 写计件合同范本
- AMDAR资料的分析和应用
- 高新技术企业认定申请书样例与说明
- 数据结构英文教学课件:chapter6 Tree
- 高压氧科工作总结高压氧科个人年终总结.doc
- 《政治学概论》教学大纲
- 桥梁缺陷与预防
- 食品生物化学习题谢达平(动态)
- 新苏教版小学科学三年级下册全册教案(2022年春修订)
- 保安员工入职登记表
- 睿达RDCAM激光雕刻切割软件V5.0操作说明书
- 机械设计基础平面连杆机构课件
评论
0/150
提交评论