- 9
- 0
- 约3.23千字
- 约 5页
- 2015-10-16 发布于江苏
- 举报
一个项目的自动化测试实践.doc
一个项目的自动化测试实践
项目上线,有时间总结一下当前的项目,对自己而言,一直是一个学习的过程。本篇总结我们的测试实践。本文分5部分,分别是:项目背景、系统架构与模块划分、我们的测试实践、自动化测试在项目中的价值与对自动化测试的进一步思考。一、项目背景所有对项目的介绍一定是从客户开始。客户:我们的客户是一家全球领先的时尚内容提供商,通过遍布全球的员工,客户每天获取大量关于时装发布、产品设计、街边流行、城市热点等信息,这些信息的绝大部分以图片的形式上传到公司服务器,然后由专职编辑对这些图片进行整理和归类(打标签),最后再由设计人员根据这些信息书写分析报表。关键内容:分类细致的海量高清图片和具有前瞻性的分析报表。商业模式:网站,行业内用户订阅-付费。客户面临的问题:同质化竞争、客户流失。新系统的关键词:CMS、更精确的内容分类、更好的全文检索、更好的用户体验(更有表现力的内容展现)、更快的内容发布。二、系统架构与模块划分1、REST的架构风格系统采用了Sling作为WEB框架,JCR作为了底层内容存储框架。系统的特点:URI唯一标识资源通过URI能够直接映射到JCR节点,例如http://localhost:80/content/section/news.html能够映射到JCR里的/content/section/news节点GET/POST/DELETE标准方法对资源进行操作支持标准方法对资源的直接操作资源的多重表述同一资源可以存在多种表述形式,例如http://localhost:80/content/section/news.html展现网页,
http://localhost:80/content/section/news.json展现资源信息的JSON描述,http://localhost:80/content/section/news.pdf展现网页的PDF。服务器端的无状态通过JS获取当前用户信息并缓存在客户端。2、系统分层系统分为四层:JS、Servlet、Domain Model和JCR。因为JCR提供了一套节点模型,所以Domain Model是在节点模型上的行为增强,例如所有对图片节点的操作我们封装在Asset领域模型里。3、程序划分程序分为两个大的模块:Migration和Bundles。为什么叫Bundles?因为Sling使用了OSGI框架Felix。Migration负责导入客户的遗留数据到新系统。之前客户的CMS运行已有10多年的时间,积累有大量数据。主要是各种类型的报表和图片。Bundles实现系统功能。主要包括了定义报表模板、定义报表各种所见即所得的展现组件、实现对图片的管理、搜索(包括基于图片的可视化搜索)和其他七七八八。三、测试实践1、Migration的测试? 自动化测试对Migration,我们采用了TDD的方式。输入是客户实际提供的xml文件,输出是JCR里的节点。测试环境的搭建主要是在本地建立起Jackrabbit实例。我们的工作方式是这样:每天早上领到一张migration故事卡,然后先写一个xml到jcr节点的集成测试描述出该类型报表的功能需求,接下来就是让这个测试通过。经过开始阶段的熟悉过程,我们的速度保持在一对Pair一天一种报表类型的导入。???手工测试将xml文件内容正常解析并导入JCR只是第一步,第二步我们需要在Bundles里为该类型的报表编写模板使之正常展现。由于涉及到报表样式,这个测试我们采用手工测试,这个工作也是QA工作的重要一部分。在最开始的开发中,我们没有导入所有报表数据进行测试。这带来了问题,由于客户遗留数据跨越10多年,各种数据形式都可能存在(特别是04年以前数据,给UI带来了很大挑战),而最开始的开发中,我们只是使用了部分数据(09、10年数据)进行测试,这个导致了建立UAT环境时程序的很多返工以及QA的测试压力。2、Bundles的测试自动化测试对领域模型,我们采用了TDD的方式进行单元测试;在本地Jackrabbit实例里建立数据,领域模型封装数据测试行为。对servlet,我们采用了TDD的方式进行集成测试(同时测试了servlet和领域模型),在测试中对request和response进行mock;对JS,我们使用数据驱动的selenium功能测试进行覆盖。
我们最后的自动化测试结构:手工测试手工测试内容主要是功能测试。自动化测试价值低的部分我们采用手工测试,这部分内容包括报表模板,相对独立,内容不多,一次测试处处通过;自动化测试成本高的部分我们采用手工测试,这部分内容包括报表展现组件的编辑功能,因为采用了Ext JS,所以自
您可能关注的文档
- TD-LTE网络规划笔试试题(含答案)-昭通.doc
- TD-LTE网络规划笔试试题(含答案)-昭通.doc
- table manner餐桌礼仪(课堂展示).ppt
- TI精密DAC选型(小于10MSPS).xlsx
- TSP203地质预报系统在金子山隧道的应用.doc
- TX Text Control ActiveX控件X8版本支持Z-Order.docx
- UILIB自定义控件使用说明书.docx
- Unit 1 - Introduction to the secretarial profession.ppt
- v22功能测试操作指导.doc
- v22功能测试操作指导.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)