服务器端测试模式总结

简介:

服务器端测试模式总结

  • 最近这两星期,我一直在研究关于服务器端功能测试的方案,现在正式总结一下:>
  • 本文分为两部分,第一部分是“服务端测试的方向”,第二部分是“现有的服务器端测试方案”。

服务端测试的方向

  • 先看下图:
  • 2009051321114815.jpg

  • 上图描述了几个问题:
    1. 可以在服务端进行的测试类型,以及它们之间的层次关系。

    2. 客户,产品,测试,代码之间的关系。

测试类型(5类)

  1. Function Test:功能测试,也叫验收测试。模拟用户操作的基本功能测试,以保证产品的基本功能。
  2. PerformanceTest:性能测试。这是服务端测试中很重要的一环。首先,服务端的很多BUG其实都是在大压力下才出现的,此外,性能测试能为服务器集群,部署提供参考性数据。

  3. Stability Test:稳定性测试。在长时间运行中,测试服务端的稳定性。
    • 以上3种A类测试,绝大多情况下需要完整产品才能进行的测试。
  4. Module Test:模块测试。这里根据模块的集成度,又可以分为两类:单一模块的模块测试,多模块的模块集成测试。
  5. Unit Test:单元测试。这是粒度最小的测试,针对每个函数进行。
    • 以上2种B类测试,只需要相关模块即可展开测试,不一定需要完整产品。
  • 测试类型特性分析

    • 这里我从测试的粒度展开说一下,不同的测试粒度,测试的效果可能会有很大差距。
      1. A类测试,测试粒度较大,这样的测试会较粗的(这仅仅是相对B类测试而言的),但上面说到,绝大多情况下需要完整产品才能进行的测试,这类型的测试往往贴近实际,所以发现的问题比较基础但却最为重要。
      2. B类测试,测试粒度较小,这样的测试是比较细的,很容易发现很多内在的,复杂的,在表面不容易发现的高质量BUG。由于模块的功能单一,所以开展起来也比较简单,而且不用顾及UI,初始化环境等问题(在模块和单元测试中,可以用MOCK方式完全模拟外部环境),但B类测试有个致命的问题,就是它不能说明现在产品的具体质量到底如何(注意是产品的具体质量,不是模块质量),B类测试只是针对各个模块/集成几个模块进行的测试,到底效果如何,是很难判定的,所以 才会出现代码覆盖率这个概念,以量化的方式评定效果。但是当模块集成为产品后,到底质量如何,基本功能是否能用,模块和模块/模块和UI之间能否正常工 作,这就不得而知了(特别如果在模块测试中使用了MOCK模拟外部环境后,此类隐患更加明显),所以在模块测试完毕后,都必须再对产品做功能测试,以确保各部分串跑成功。

测试模式(2种)

  • 对产品的测试模式基本上可以分为两种(见上图的箭头),一种是从上往下的X测试模式(红色箭头),一种是从下往上的Y测试模式(蓝色箭头)。
    • Y测试模式是一种从下往上的测试模式,先从单元测试和模块测试入手,一步步往上,最后进行功能测试,我觉得以下情况非常适合对产品使用Y测试模式:

      1. 人手是足够的。因为Unit Test和Module Test是非常消耗资源的测试。
      2. 项目正处于设计/开发阶段。因为产品还没成型,所以也只能先从模块下手,当然如果可以实现测试驱动开发那是最好的。
    • 采用Y测试模式有个明显好处是:它可以从本质上提高产品的质量,因为越往下的测试类型越和代码相关,先进行单元和模块测试有利于提高开发的代码质量和软件架构,好的代码和软件设计是高质量产品的基础,所以说Y测试模式有利于从本质上提高产品质量。
    • X测试模式和Y测试模式相反,它从上往下的测试模式,先从总体的功能测试入手,一步步深入,最后进行模块/单元测试。我觉得以下情适合对产品使用X测试模式(使用情况也恰恰和Y测试模式的使用情况相反):

      1. 在人手紧缺的情况下
      2. 项目已经开发完毕/差不多完毕
    • X测试模式它先是进行功能测试,在保证了基础功能正常的情况下再进行深入测试。所以在资源(人手,时间...)有限的情况下可以最大限度地保证产品功能的稳定,这也是它优点。
  • 说了这么多,大家应该有感觉,上图中,越往上的测试类型,越贴近用户,也越重要(这里重要是相对而言的,并不是说单元测试不重要),而越往下的测试类型,越贴近代码。各位可以根据产品的特点,选择适合自己的测试方案。

  • 我对小公司的开展测试的建议是:采用X测试模式,在保证基础功能的基础上,再做打算。

现有的服务器端测试方案

  1. 针对Function Test(功能测试)的测试方案:
    1. 使用Web测试工具Selenium编写自动化测试脚本,进行服务端进行简单的功能测试。
      • Selenium是Web测试利器,支持C#,JAVA,Python在内的多种语言编写测试案例,Selenium通过内嵌入JavaScript控制浏览器的动作,实现模拟真人的操作。参考资料:http://seleniumhq.org/

    2. QTP的开源框架Saffron4Web。
  2. 针对Performance Test(性能测试)的测试方案:LoadRunner就是一个很好的选择。
  3. 针对Module Test(模块测试)的测试方案:对于Module Test,我的想法的使用现有的框架编写测试案例,用Groboutils+Cactus+(JMock)搭建起模块测试的基本运行环境。

     转载请说明出处,谢谢![hyddd(http://www.cnblogs.com/hyddd/)]


本文转自hyddd博客园博客,原文链接:http://www.cnblogs.com/hyddd/archive/2009/05/13/1456271.html,如需转载请自行联系原作者。


目录
相关文章
|
27天前
|
存储 弹性计算 编解码
ecs实例规格工作负载模式
阿里云ECS实例有多种工作负载模式:计算密集型(适合高性能计算)、内存密集型(适用于内存数据库)、通用型(平衡资源,多场景适用)、大数据型(优化大数据分析)、共享型(低成本,轻负载)和企业级实例(高稳定性和隔离性)。用户依据业务需求选择实例规格,结合SLB和ESS服务可优化架构,应对动态负载。
22 4
|
2月前
|
网络协议 安全 测试技术
手撕测试tcp服务器效率工具——以epoll和io_uring对比为例
手撕测试tcp服务器效率工具——以epoll和io_uring对比为例
40 2
|
2月前
|
存储 弹性计算 运维
阿里云服务器ECS经济型e实例详细介绍_性能测试和租用价格
阿里云服务器ECS经济型e实例详细介绍_性能测试和租用价格,阿里云服务器ECS推出经济型e系列,经济型e实例是阿里云面向个人开发者、学生、小微企业,在中小型网站建设、开发测试、轻量级应用等场景推出的全新入门级云服务器,CPU采用Intel Xeon Platinum架构处理器,支持1:1、1:2、1:4多种处理器内存配比,e系列性价比优选
|
3月前
|
敏捷开发 存储 安全
敏捷方法:什么是软件测试中的敏捷模式?
敏捷方法:什么是软件测试中的敏捷模式?
|
1月前
|
弹性计算 分布式计算 DataWorks
DataWorks报错问题之ecs自建数据库连通性测试报错如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
弹性计算 缓存 测试技术
阿里云2核4g服务器(费用价格/性能测试/支持人数)
阿里云2核4g服务器能支持多少人访问?2核4G服务器并发数性能测试,阿小云账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素
|
1月前
|
弹性计算 缓存 测试技术
2核4g服务器能支持多少人访问?阿里云2核4G服务器并发数测试
2核4g服务器能支持多少人访问?阿里云2核4G服务器并发数测试,2核4G服务器并发数性能测试,阿小云账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素
|
2月前
|
存储 负载均衡 监控
epoll服务器百万并发测试
epoll服务器百万并发测试
31 1
|
2月前
|
弹性计算 数据中心
阿里云香港服务器详细介绍_BGP多线精品测试_CN2高速网络
阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量。阿里云百科来详细介绍阿里云香港云服务器
|
2月前
|
弹性计算 测试技术 数据中心
阿里云香港服务器BGP多线精品网络_CN2性能测试_中国香港主机测试
阿里云香港服务器BGP多线精品网络_CN2性能测试_中国香港主机测试,阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量