快速修改会使代码稳定,使代码稳定会节省时间(不会有多人在相同程序错误上浪费时间),并促进通过重新分析或者其他工作改进代码结构,并解决不稳定代码问题。如果代码基础大体是稳定的,并有很强的自动化测试包,则程序员可以尝试以较低的风险做更大的变更。项目团队还可以通过调整产品的范围和发布时间,迅速抓住市场机会。
以下是加速开发的两个例子:
自动化冒烟测试:在有限的时间内,广泛的检验产品的功能。如果关键功能不能正常运行,或关键程序错误还没有被清除,测试小组就不必浪费时间安装或测试该版本了。解决这些问题对程序员来说也是同样紧急的事情。
自动化单元测试:这些测试也会使测试过程流畅、避免回退,并保持开发动力。这些测试有更大的测试集,针对的是被测产品功能中的下层功能和类。
自动化措施和冒烟测试的最大价值,在于可以由任何人在任何时候运行。作为开发过程的一部分,自动的运行这些测试。开发这样的测试有助于个体程序员创建一些只包含了一个或者少量变更的微版本。如果其中一个微版本失效,程序员会知道应该检查什么地方。如果微版本没有问题,会向程序员提供更大的版本,其中包含了所有程序员包含的所有的变更,这种版本出现问题的可能性也更低。这对于项目非常有好处。
功能回放测试 自定义脚本在真机回放; 详细的日志、截图、屏幕录像。 负载测试: 例如模拟几百上千人同事使用被测软件; 性能基准测试: 通过自动化测试,在每次运行时都捕获时间度量参数。通过收集这些度量参数,按时间顺序观察,就会发现性能退化现象。 资源利用基准,如内存或外村的使用,也可以通过同样的方法获得。 深度性能测试 精准获取App多维度性能参数; 模拟典型使用场景及状态; 全面获得启动时长、电量、流量、CPU、内存等。 耐力测试: 被测系统长期运行,用于发现内存泄漏、栈破坏、指针越界和类似的错误 配置测试 适配各种机型,同时捕获性能数据; 记录测试过程中完整日志、截图、录像; 捕获CPU、内存、流量、电量等性能数据; 定位闪退、crash、ANR等问题。 安全漏洞扫描 扫描权限漏洞、静态漏洞、运行漏洞等。 组合错误 竞争条件
以后补充
以后补充
参考接口自动化实施方案
冒烟测试,系统测试,线上回归(监测),详情参考接口自动化实施方案
自动化冒烟测试,自动化单元测试,系统测试,线上回归(监测)
后期规划
压测、自动化、本机
任务(android) | 时间 | 责任人 | 里程碑 | 输出物 |
---|---|---|---|---|
自动化用例筛选及评审 | 2天 | 迟 | 否 | 《自动化测试用例列表》 |
新增自动化用例编写及调试 | --- | --- | --- | |
线上、预上线自动化测试账号、测试数据准备 | --- | --- | --- | |
自动化框架使用指导文档及培训 | --- | --- | --- | |
自动化测试套的规划及实现,区分冒烟、全功能、性能基准等 | --- | --- | --- | |
自动化执行(各个设备×各个版本的性能基准数据) | --- | --- | --- | |
框架维护及优化 | --- | --- | --- | |
知识积累总结 | --- | --- | --- | |
框架编写、框架维护、脚本编写、测试执行的标准化、规范化 | --- | --- | --- |
任务(接口) | 时间 | 责任人 | 里程碑 | 输出物 |
---|---|---|---|---|
预上线账号准备、接口测试数据准备审 | 2天 | 迟 | 否 | |
测试用例编写 | --- | --- | --- | |
接口自动化使用文档及培训 | --- | --- | --- | |
接口自动化执行根据实际情况和回归情况 | --- | --- | --- | |
框架维护以及优化 | --- | --- | --- |
跟随功能测试用例的测试套进行。良好的测试套件有多方面的用处:
1. 稳定的需求点、变动较少的页面2. 每日构建后的测试验证 daily build3. 比较频繁的回归测试4. 需要在多平台上运行的相同测试案例、组合遍历型的测试、大量的重复任务
1. 一般的要求 50% +2. 重点的要求 80% +
建立自动化测试的组,理想状态下有4个人员,测试开发、中高级自动化测试工程师、2个初级自动化工程师;目前有2个人,未来还会在组内培养2个(兼职)。
在开发编码之前,对测试自动化作了整体设计,推动测试自动化开发的顺利开展 识别并修改测试套中的所有问题 规划自动化方向,提供需求,如要求自动化工程师为某项测试任务研发工具、脚本
基本工作:
长期规划:
培训的任务:
技术方案:APPium
Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS平台。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架。Appium对IOS系统的支持得益于Dan Cuellar’s对于IOS自动化的研究。Appium也集成了Selendroid,来支持老android版本。 Appium支持Selenium WebDriver支持的所有语言,如java、Object-C、JavaScript、Php、Python、Ruby、C#、Clojure,或者Perl语言,更可以使用Selenium WebDriver的Api。Appium支持任何一种测试框架。如果只使用Apple的UIAutomation,我们只能用javascript来编写测试用例,而且只能用Instruction来运行测试用例。同样,如果只使用Google的UIAutomation,我们就只能用java来编写测试用例。Appium实现了真正的跨平台自动化测试。 appium选择了client-server的设计模式。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的,这就是appium及webdriver如何做到支持多语言的;
技术方案:Python
首先技术工具是免费的,Python的工具用PyCharm社区版。利用比较简洁的Python语言进行自动化测试,对于人员的学习成本来讲比较实用,学习时间短,有优势。 另外Python自带的unittest单元测试框架可以很方便的实现自动化用例的设计和执行以及自动化用例套件的管理等任务。Python是纯面向对象的语言,后续也可以过渡到Java + Selenium进行更加丰富的自动化测试。 此外,可以选择Jenkins作为持续集成服务器,配合Python+Selenium的方案进行自动化冒烟测试。
技术方案:Jmeter、 LoadRunner、自写脚本
代码,以及测试套的管理、分享机制。
保存路径在git
header 1 | header 2 |
---|---|
接口测试实施方案 | |
接口测试详细设计 | |
POS自动化详细设计 | |
性能测试实施指导手册 |
性能测试计划、报告模板参考:
自动化测试计划、报告模板参考:
编写人:
完成时间:
几个使自动化测试项目陷入困境的因素:
开发帮忙开发页面--接口测试用例编写 自动化测试线上--整理需要的场景,评估需要哪些表加标记 硬件资