AEAI CRM 客户关系管理系统项目介绍

  1. 项目背景
    1. 项目实现的主要功能

CRM(Customer Relationship Management)是用来管理公司与客户(个人和组织)、公司内部员工等之间的关系,客户信息沉淀以及带有审批流程的各商机、线索、等的业务流程。

主要实现了:

1)企业客户资源的管理,如潜在客户资源的新增、生成线索等管理

2)销售人员的管理,如销售总监可以将线索分配给销售人员后双方信息的互动

3)实现信息和资源的共享,从而降低企业运营成本

4)销售自动化

    1. 目标用户

主要应用在销售企业内部

    1. 架构和开发语言

是一个以B/S为基础架构,以Java为开发语言,基于Internet的开源 Web应用系统。本项目用到的应用服务器为tomcat,数据库为mysql

    1. 主要模块及功能
      • 潜在客户模块:

用于新增潜在客户和生成线索(如果需要生成潜在客户,必须新增客户信息后,才可以生成线索)。

  • 客户分组模块:

销售总监可以通过客户分组功能创建客户的分类,达到良好的对客户管理。

  • 客户信息模块:

销售总监可以创建客户分组,然后进行分组管理,也可以安排销售人员,销售人员查看到自己的客户,进行完善,销售也可以直接增加客户提交后,由销售总监进行确认。

  • 线索管理模块:

销售总监、销售人员、电销网销可以通过自己以有的客户,或者新增客户进行新增线索。然后由销售总监进行分配和处置线索。

  • 拜访记录模块:

拜访后相关人员,需要填写拜访客户的相关信息,例如客户反馈的意见等等,销售总监进入系统,可以确认信息。

  • 商机管理模块:

线索生成商机,然后相关销售人员对自己的商机信息进行完善后提交,在销售确认后可以生成订单。如果销售总监关闭了商机后,该商机信息被作废。

  • 订单管理模块:

商机生成订单后,会在该模块中产生记录,然后销售人员需要对订单细节进一步完善,然后由销售总监进行确认。

  1. 基本流程:

全员新增潜在客户——新增客户信息——生成线索——总监分配线索——认领线索——生成商机——销售确认商机——生成订单——总监确认

基本流程:首先在潜在客户模块,信息采集员新增客户信息,再将有意向的客户生成线索,然后线索就出现在线索管理模块中,此时销售总监对线索进行分配,电销网销人员认领线索后需要完善线索信息以及客户信息,然后生成商机,这条商机就会出现在商机管理模块中,对接的销售人员就对商机信息进行完善提交,待总监确认后方可生成订单,订单就出现在订单管理模块,还是由销售人员对订单明细进行完善,最后由总监确认,流程完成。

  1. 自己负责的模块

线索管理模块

  1. 角色可以新增线索,编辑线索
  2. 新增线索时可以新增客户
  3. 总监对线索进行分配,指定跟进人员
  4. 由销售人员认领线索,并完善线索,并生成商机
  5. 总监可以通过分配重新激活搁置、关闭状态的线索

  1. 测试流程
    1. 流程分为几个部分
      • 需求获取
      • 需求评审
      • 需求分析
      • 测试用例设计
      • 测试执行

2.1需求获取

  1. 需求获取来源
    1. 需求评审会议记录文档
    2. 需求规格说明书:功能需求(分权显示、已认领的线索可以用来生成商机)
    3. 系统使用手册:获取文档中的页面设计原稿和注意事项(搁置状态:销售人员回到页面重新对该记录进行再次认领)等信息
    4. 数据库设计说明书:获取线索管理模块客户ID(与客户信息模块的交互)、创建时间、联系人、联系方式、状态等
    5. 设计规格说明说:主要内容业务描述、功能约束、界面设计、定义页面控制说明(控制方法名称+方法)、技术重点(生成商机页面内容需手动添加)
    6. 需求获取方式(svn)

2.2 需求评审

进行需求评审,将模糊不清、有歧义的内容拿出来讨论,等所有人确定好后建立基线

2.3测试需求分析

  1. 分析思路:点—面—交互、正常—特殊、异常   
  2. 测试点分析
    1. 用户场景分析
    2. 功能交互
      1. 内部交互:新增线索后线索列表新增一条线索
      2. 内部交互:线索状态更改后线索列表中状态的更新
      3. 新增线索管理中新增客户功能与客户信息模块的交互
      4. 新增线索中插入选择客户按钮与客户信息模块的交互
      5. 由潜在客户生成的线索的交互
      6. 由线索生成商机的交互
      7. 按钮的功能交互:新增、编辑、删除、查看、生成线索功能交互
    3. 软件质量模型
      1. 功能性(新增、编辑、生成商机、查看、分配、认领、处置、删除)
        1. 适合
        2. 准确
        3. 保密安全性
        4. Web专项测试
          1. 连接测试
            1. 是否有死链接
            2. 连接书写规范(不超过255字)
            3. 页面跳转是否与标题一致
          2. 表单测试
            1. 测试数据的输入规则
            2. 测试表单的显示(适应性、界面)
          3. Cookie测试
            1. Cookie功能的实现
              1. 操作看是否产生cookie
              2. 查看cookie产生、失效的时间是否正确
              3. 删除、屏蔽查看影响(屏蔽时系统对cookie的提示)
            2.  Cookie 测试用户刷新页面对cookie的影响
            3. 手动更改cookie值,查看能否篡改权限
            4.  Cookie的加密处理 f12 中application cookie
          4. Session测试
            1. 去配置文件修改(web.xml)session-timeout检验有效期是否合理
            2. 直接访问需要登陆后才能访问的页面地址(包含弹出窗口),复制出URL地址直接在粘贴在地址栏访问,如果能正常访问表示当前页面未做Session验证处理
            3. 传输过程中重要信息加密情况,可通过httpwatch查看
            4. 在同一浏览器登录同一账号、在同一浏览器登录不同账号、在不同浏览器登录同一账号
            5. 验证退出登录后回退的系统状态
          5. 文件上传测试
            1. 只能上传的文件类型
            2. 不能上传脚本或者可执行文件
            3. 上传超大文件似的信息提示
            4. 上传的文件保存在服务端硬盘,基本信息保存在数据库
            5. 上传文件自动重命名,防止冲突
          6. 数据库测试
            1. 数据库约束测试
            2. 数据库默认值测试(null)
            3. 数据同步测试(前段和数据库数据是否一致:如查询日期month..between)
      2. 效率
      3. 易用性
      4. 可靠性
      5. 可移植
      6. 可维护

1、主要流程:就是上面讲过的流程

2、备选流程:录入的信息为有效状态,通过反核准更改状态为无效,不能进行下一步操作,只有通过核准将状态再改为有效,才能生成线索。

3、异常流程:比如说潜在客户模块,客户信息通过反核准按钮更改状态,再进行删除,这条记录就没有了,流程就走不下去。

  1. 需求评审流程

形成基线

  1. 评审发现的问题

2.4测试用例设计、编写、评审

  1. 测试用例设计方法
    1. 正交试验法:组合查询或搜索

查询中先确定因子和水平,因子为创建日期、状态、性质、名称、联系人、创建人,水平都是空与非空,使用正交设计助手,选择7因子2水平的正交表,将因子和水平映射到表中,每一行的组合是一条测试用例,再加上用的比较多的组合。

  • 状态迁移:翻页功能模块、线索的搁置和关闭
    • 等价类、边界值

新增中的联系方式规则是:数字,11位

有效等价类:数字、11

无效等价类:非数字、小于11,大于11

边界值:上点:11

离点:10、12

内点:11

  1. 编写:用到禅道(编号、项目名、用例名、重要级别、预置条件、测试输入、预期结果、)
    1. 评审流程及发现的问题

根据评审讨论意见修改测试用例,通过后形成基线

2.5测试执行

  1. SVN获取被测软件及资料
    1. JDK环境变量
      • 卸载已有旧版本jdk :yum remove
      • 上传并解压gz压缩包:rz  tar -xzvf
      • 移动到usr/local 下并改名: mv * usr/local jdk
      • 设置环境变量:vi etc/profile.d/jdk.sh输入内容:

Export JAVA_HOME=/usr/local/jdk

Export path=$path:$Java_home/bin

  • 增加脚本的可执行权限 chmod +x
    • 检验jdk是否安装成功 java -version
    • 执行脚本:source
    • Mysql数据库搭建
      • 卸载maria db库yum remove
      • 一键安装PERL DBI :yum install  (dbi负责激活mysql模块)
      • 创建一个mysl用户 userad -M mysql
      • 上传安装mysql客户端和服务器  rz   rpm -ivh *(顺序不能乱:客-服)
      • 设置开机启动:systemctl enable mysql
      • 启动mysql :systemctl start mysql
      • 查询服务状态:systemctl status mysql   (显示active :running)
      • 设置一下mysql root用户密码 mysqladmin -u root password  ’123456’
      • 把mysql 3306端口加入到防火墙firewall -cmd --add -port=3306/tcp --zone=public --permanert
      • 重启防火墙 firewall -cmd -reload
      • 设置mysql允许远程登录
      • 修改mysql服务器中character_set_server的字符集utf8 /etc/my.cnf
      • 重启mysql服务 systemctl restart mysql
    • CRM服务器搭建
      • 上传、解压zip压缩包:rz unzip*
      • 移动文件 mv
      • 修改数据库连接配置文件hotweb中的password(加密paaedcryptor.cmd)
      • 增加脚本执行权限 chmod +x /usr/local/aearcrm/bin/*.sh
      • 删除旧日志:rm -f /usr/local/aearcrm/logs/*
      • 修改mysql服务器配置,表名不区分大小写 vi my.cnf lower case table names=1
      • 重启服务:systemctl  restart mysqld
      • 进入mysql创建数据库和表:mysql -u  root-p
      • 创建数据库和表 :create database aeaicrm、use crm、source /usr/../aeaicrm_mysql.sql
      • 创建crm服务文件
      • 设置开机启动aeaicrm:systemctl ennable crm
      • 启动aeaicrm  systemctl start
      • 查询服务状态:systemctl status aeaicrm
      • 设置防火墙6060端口访问 firewall -cmd --add-port=6060/tcp --zone=public --permanent
      • 重启防火墙 firewall -cmd  --reload
      • 登录验证 http://192.168.80.128:6060/aeaicrm

(16)首先进行冒烟测试,通过后开始系统测试,每出现一个bug时就要到禅道将该条用例状态改为失败,编写缺陷报告,重点是:要仔细填写标题(格式是什么地方做了什么操作出现什么错误)、实际结果中要包含截图、判断好优先级别。

  1. 测试工具的使用
    1. Svn
      1. Update to reversion:回退到指定版本
      2. revert(回滚)操作,该操作表示用户放弃自己的更新代码,然后直接提交,这个时候你的代码就会使服务器上最新的代码,即A用户提交的新代码,你的代码不会被提交
      3. Diff with previous version 与前一版本的比较
    2. 禅道
    3. Httpwatch:找到post请求,查看cookie信息
    4. Xenu:输入测试连接,设置(最大层次),导出失败连接报表
    5. 禅道测试用例结果的填写
    6. 缺陷的管理
  2. 工作成果
    1. 测试报告的内容

用例总数:98  缺陷数:24  通过率:75.5%

致命:0  严重:4  一般:15  建议性:5

    1. 印象最深的bug
  1. 在查询输入框,输入sql语言,输入’or 1=1 #时 ,表单页面空白
  2. cookie的篡改,将销售总监账号的cookie参数值复制到销售人员账号cookie中,会发现销售人员拥有销售总监才有的权限
  3. 登录时使用httpwatch查看,会发现密码用户名都是明文显示
    1. 自己的进步和不足
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐