早前公司领导提出让开发自测,测试么也做做开发。当然了,为了保证自测质量,测试用例仍需测试提供,所以为了提高开发自测的效率和质量,我们开发了捉虫记。
捉虫记是一个完整的Spring MVC项目,现已开源,希望感兴趣的可以一起完善(详见Todo List)
项目地址:youzan/bugCatcher

  

捉虫记

[ Spring | Spring MVC | Mybatis | Spring Security | jQuery | Bootstrap ]


捉虫记简介

捉虫记 设计初衷是为了方便开发人员自测(当然了,对于需要自行完成测试的测试团队也是适用的),其主要特性为:

  • 项目管理 :由需求方发起项目,并按照瀑布流软件开发模型跟踪整个项目的完成情况;
  • 用例管理 :方便添加和管理测试用例,也支持Excel、Xmind等文件形式的用例上传,支持用例筛选,并为项目分配需要执行的用例;
  • 项目质量报表 :报表以时间线的方式展示各个项目的质量变化;
  • 自测质量排名 :以积分排名的方式展示项目成员自测质量高低;
  • 精细化的权限控制 :精细的角色分离(产品、开发、测试),提供精细化的权限控制,某角色可以做什么,不可以做什么一目了然;

典型使用场景

 

提示:具体可参考下面典型场景使用图示一节,但是什么角色做什么不是绝对的,可以根据团队实际情况调整,比如,可以由测试人员发起项目。

使用方法

环境依赖

  • 系统:Linux
  • 语言:Java (Version>1.8)
  • 数据库:Mysql
  • 其他工具:Maven

初始化

  • 修改pfcase-schema.sql中的admin账号的密码和E-mail地址(bugCatcher/src/main/resources/database/pfcase-schema.sql)

    INSERT INTO signon VALUES('admin','Your Password');
    INSERT INTO account VALUES('admin','Your E-mail address','admin');
  • 修改jdbc.properties中的mysql配置(bugCatcher/src/main/resources/orm/jdbc.properties)

    # local
    jdbc.driverClassName=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://<mysql host>:<mysql 端口>/pfcase
    jdbc.username=<mysql 用户名>
    jdbc.password=<mysql 密码>
  • 修改setup.sh中的mysql配置(bugCatcher/setup.sh)

    #!/usr/bin/env bash
    mkdir ~/fileupload
    mysql -h <mysql host> -P <mysql 端口> -u <mysql 用户名> -p<mysql 密码> < <上述pfcase-schema.sql文件的绝对路径>

执行setup.sh完成初始化

启动

mvn tomcat7:run -Dmaven.tomcat.port=<端口号> &

提示:<端口号>设置为任意未被占用的端口即可

以部署在本机8080端口为例,打开 http://localhost:8080/ 即能打开捉虫记登录页面

 

典型场景使用图示

新用户注册

 

角色-功能对照表

角色/功能 我的任务 执行用例 执行评价 新建任务 新建用例 查看用例 分配用例 上传用例 执行质量 华山论剑
测试 展示所有人的任务 — ○ ○ ○ ○ ○ ○ ○ ○
开发 只展示自己的任务 ○ — ○ ○ ○ ○ ○ ○ —
产品 只展示自己的任务 — — ○ ○ ○ — ○ ○ —
admin 展示所有人的任务 ○ ○ ○ ○ ○ ○ ○ ○ ○

admin:内置账户,拥有最高权限,可以做任何操作,慎用。

产品发起项目,指定项目开发人员:

 

测试设计用例,将相关用例分配给该项目的开发人员:

新建用例,模块支持新建或者选择已有的:

 

选择项目,勾选该项目需要执行的用例并分配(用例支持按指定条件搜索/筛选):

 

捉虫记也支持Excel、Xmind等文件形式的用例上传,但仅做备份用例使用:

 

开发人员执行用例

执行一条,已执行栏目下勾选一条:

 

测试检查开发人员用例执行情况并给出评价

测试人员一条条检查下去,功能无误点击good按钮,执行不到位点击bad按钮(可以将bug链接填写上去),当项目下的用例全部执行完成以后会在项目概况下自动打分

 

项目自测质量的打分会以图表的形式展现

 

华山论剑

此栏目主要对执行用例的开发人员进行自测质量评价,评分有A(+20)/ B(+10)/ C(-10)三个等级,具体评价标准可以自行定义,最终会给所有人员一个积分排名

 

Todo List

  • bug管理与跟踪
  • 。。。

反馈与建议

    • 邮箱:canyuns【@】163.com

基于 Spring MVC 的开源测试用例管理系统以及开发自测的实践的更多相关文章

  1. 基于Spring MVC的Web应用开发(三) - Resources

    基于Spring MVC的Web应用开发(3) - Resources 上一篇介绍了在基于Spring MVC的Web项目中加入日志,本文介绍Spring MVC如何处理资源文件. 注意到本项目的we ...

  2. 基于Spring MVC 实现拦截器

    Spring MVC 拦截器 一,具体内容: 在所有的开发之中拦截器属于一个重要的组件,可以说几乎所有的项目都会提供的概念应用,不管是Spring MVC,还是Struts 2.x都是提供有拦截器的, ...

  3. 基于spring mvc的图片验证码实现

    本文实现基于spring mvc的图片验证码,分后台代码和前端页面的展现以及验证码的验证. 首看后台实现代码: @RequestMapping({"authCode"}) publ ...

  4. Spring MVC第一课:用IDEA构建一个基于Spring MVC, Hibernate, My SQL的Maven项目

    作为一个Spring MVC新手最基本的功夫就是学会如何使用开发工具创建一个完整的Spring MVC项目,本文站在一个新手的角度讲述如何一步一步创建一个基于Spring MVC, Hibernate ...

  5. 基于Spring Mvc实现的Excel文件上传下载

    最近工作遇到一个需求,需要下载excel模板,编辑后上传解析存储到数据库.因此为了更好的理解公司框架,我就自己先用spring mvc实现了一个样例. 基础框架 之前曾经介绍过一个最简单的spring ...

  6. 如何开始创建第一个基于Spring MVC的Controller

    万事开头难,良好的开端是成功的一半! 以下示例怎么开始创建我们的第一个Spring MVC控制器Controller 1.新建一个java类,命名为:MyFirstController,包含以下代码, ...

  7. 基于spring mvc的注解DEMO完整例子

    弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件.本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mv ...

  8. 文件上传--基于Spring MVC框架+SmartUpload

    这篇文章是介绍文件上传的,由于在spring MVC上实现起来和直接在servlet中写有些不同,所以特地写了一下这篇文章,关于不同点,大家可以先阅读一下上一篇文章.好了,下面直接上代码. jab包是 ...

  9. 基于Spring MVC的文件上传和下载功能的实现

    配置文件中配置扫描包,以便创建各个类的bean对象 <context:component-scan base-package="com.neuedu.spring_mvc"& ...

随机推荐

  1. java生成二维码

    具体代码如下,作为一个新手,期待与你一起交流: import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.Buf ...

  2. flume-sink报错 java.lang.IllegalStateException: close() called when transaction is OPEN - you must either commit or rollback first

    1. 确认代码无误(根据情况修改,表示若获得不了数据不会自动commit或者rollback): Event event = channel.take(); if (event == null) { ...

  3. SuperWebClient -一个基于CURL的.NET HTTP/HTTPS模拟神组件(2)

    今天我们讨论SuperWebClient组件使用中的几个简单主题 1: UserAgent2: Cookies3: POST登录 1:UserAgent这个是客户端标识信息,此信息是用于鉴别正在访问W ...

  4. spring中对象的注入方式

    平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程 ...

  5. HttpHelper万能框架V1.6

    下载地址:http://yun.baidu.com/share/link?uk=1745303310&shareid=1343567367 引入:System.Web和System.Web.E ...

  6. Alamofire源码解读系列(五)之结果封装(Result)

    本篇讲解Result的封装 前言 有时候,我们会根据现实中的事物来对程序中的某个业务关系进行抽象,这句话很难理解.在Alamofire中,使用Response来描述请求后的结果.我们都知道Alamof ...

  7. JavaWeb与Asp.net工作原理比较分析

    一.概述 不管是什么语言开发的web应用程序,都是在解决一个问题,那就是用户输入url怎么把对应的页面响应出来,如何通过url映射到响应的类,由于自己做asp.net的时间也不短了,还算是对asp.n ...

  8. Vue学习之路---No.4(分享心得,欢迎批评指正)

    这里说声抱歉,周末因为有其他事,没有更新博客,那么我们今天继续上周5的说. 老规矩,先回顾一下上一次的重点: 1.利用V-if和v-else来提到show()和hide(),同时要记住,v-else一 ...

  9. 1613: [Usaco2007 Jan]Running贝茜的晨练计划

    1613: [Usaco2007 Jan]Running贝茜的晨练计划 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1252  Solved: 609 ...

  10. Spring Data JPA,一种动态条件查询的写法

    我们在使用SpringData JPA框架时,进行条件查询,如果是固定条件的查询,我们可以使用符合框架规则的自定义方法以及@Query注解实现. 如果是查询条件是动态的,框架也提供了查询接口. Jpa ...