一个项目的自动化测试实践

发表于:2010-6-09 13:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:ronghao100(CSDNBlog)    来源:51Testing软件测试网采编

  本篇总结最近一个项目的测试实践。本文分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实现系统功能。主要包括了定义报表模板、定义报表各种所见即所得的展现组件、实现对图片的管理、搜索(包括基于图片的可视化搜索)和其他七七八八。

41/41234>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号