1.该模块的主要功能介绍

  • 该系统是一个网上课程预约系统。
  • 学生进行口语预约(没上课前可以进行取消)--> 等待上课 --> 上完课老师进行完成的确认操作。

2.问题描述

  • 看下图,现在出现的问题是:
  • 同一个课程可以取消很多次,按道理来说一个课程只能取消一次

这么严重的问题都会出现(测试干什么吃的。。。此处省略好多个字),是的,这种问题怎么会出现呢。
这个问题是这样出现的,当网络特别不好的时候,这个“取消”按钮点击的时候,没那么快跳转,然后可以连续点击,然后会出现连续取消的情况。

3.问题排查

  • 公司现在是前后端分离进行项目开发,就是说在网络没有问题的情况下,老师点击取消后,这个课程的状态就会变成“老师取消”,然后就操作栏就会变为“详情”(即没有了取消的这个按钮)。正常情况下是这样个流程。
  • 然后就想那应该是后台接口的问题,于是用postman工具模拟老师取消课程,真的可以无限次取消。

4.解决方案

  • 当点击取消后,状态变为老师取消,下一次点击该课程的“取消”按钮,还有判断该课程的状态,只有“已预约”的状态才能点击取消,其他状态点击取消,会给一个错误提示。
  • 如图,通过postman进行课程取消,当课程状态不是“已预约”,点击取消,都会提示一个错误信息:状态有误。这样就不能进行连续取消了。

  • 所以,进行接口测试还是挺有必要的。。。
  • 还遇到的坑是,比如一个输入框,前端提示限制:只能输入十个字符,后端接口限制输入五个字符。根据边界值的测试方法嘛,输入10个字符测试。然后就报错了。。。

记一次印象有点深刻的坑(bug)的更多相关文章

  1. 【踩坑记录】记一次MySQL主从复制延迟的坑

    最近开发中遇到的一个MySQL主从延迟的坑,记录并总结,避免再次犯同样的错误. 情景 一个活动信息需要审批,审批之后才能生效.因为之后活动要编辑,编辑后也可能触发审批,审批中展示的是编辑前的活动内容, ...

  2. 记一次 Spring 事务配置踩坑记

    记一次 Spring 事务配置踩坑记 问题描述:(SpringBoot + MyBatisPlus) 业务逻辑伪代码如下.理论上,插入数据 t1 后,xxService.getXxx() 方法的查询条 ...

  3. 记一次RabbitMq 安装和配置坑

    记一次RabbitMq 安装和配置坑 正常情况下安装 先安装erl ,在安装rabbitmq 这个在windows下的安装没什么技巧,按照默认一路下一步就ok.安装好后可以到cmd测试是否安装好. 测 ...

  4. 记一次UICollectionView中visibleCells的坑

    记一次UICollectionView中visibleCells的坑 项目的要求是这样的 其实也是一个轮播图,而已,所以依照轮播图的实现原理,这里觉得也很简单,还是利用UICollectionView ...

  5. 印象最深的一个bug:sessionStorage缓存在移动端失效

    无bug,不程序:作为程序员的我,不是修bug就是在写bug的路上. 移动端sessionStorage缓存失效是我"印象最深的一个bug"之一,为啥呢,因为这个问题导致我加班到很 ...

  6. 解Bug之路-记一次JVM堆外内存泄露Bug的查找

    解Bug之路-记一次JVM堆外内存泄露Bug的查找 前言 JVM的堆外内存泄露的定位一直是个比较棘手的问题.此次的Bug查找从堆内内存的泄露反推出堆外内存,同时对物理内存的使用做了定量的分析,从而实锤 ...

  7. 芝麻HTTP:记scikit-learn贝叶斯文本分类的坑

    基本步骤: 1.训练素材分类: 我是参考官方的目录结构: 每个目录中放对应的文本,一个txt文件一篇对应的文章:就像下面这样 需要注意的是所有素材比例请保持在相同的比例(根据训练结果酌情调整.不可比例 ...

  8. 记一次项目使用webuploader爬坑之旅

       因前端页面开发使用的为VUE开发,又要支持IE9,遂只有基于webuploader封装一个上传组件.地址:https://github.com/z719725611/vue-upload-web ...

  9. 记一次Socket编程踩的坑

    闲来无事研究了下Socket,想用它做个简单的聊天室模型,结果踩了个坑,整半天才出来,惭愧啊,先上完成的代码吧 服务端: public partial class Form1 : Form { pub ...

随机推荐

  1. mysql-8.0.11-winx64.zip安装教程

    mysql-8.0.11-winx64.zip安装教程   下载zip安装包: MySQL8.0 For Windows zip包下载地址:https://dev.mysql.com/download ...

  2. 关于使用UniForm以其他控件为Parent时应该注意的问题

    关于使用UniForm以其他控件为Parent时应该注意的问题: 1,不能在其他组件的oncreate,onbeforeshow,onshow等事件中来生成这样的uniform,否则其上的组件不能显示 ...

  3. Docker基于容器创建镜像

    docker commit -m "提交信息" -a "作者信息" imgId imgName

  4. Windows7中pagefil.sys和Hiberfil.sys文件删除与转移

    第一步.在开始的功能表的搜索栏里输入 cmd,然后在搜索结果中的 cmd 按下右键,点选[以系统管理员身分运行] 第二步.在命令提示符窗口里输入下面命令然后按下Enter: powercfg –h o ...

  5. 关于eclipse中看不到源码的问题

    这几步之后会生成一个src压缩包,再用att打开即可.记住 要按ctrl再点击

  6. JNI_Z_07_方法的操作(没有String类型的参数)_参数的传递方式

    1. 2.VC6(CPP)的DLL代码: #include<stdio.h> #include "jniZ_TjniMethod02.h" JNIEXPORT void ...

  7. Springer Latex

    What are the guidelines for uploading a LaTeX formatted manuscript?   1. Always upload the main LaTe ...

  8. phpstrom ctrl+s无法上传的问题 解决

    首先这个不教你怎么配置同步FTP,这个教程网上太多了. 主要是配置好了上传,上传的好好的,突然某一天不能上传了,或者配置好了上传不了. 我遇到的问题是,如果你没有点击Use this server a ...

  9. python学习笔记(threading接口性能压力测试)

    又是新的一周 延续上周的进度 关于多进程的学习 今天实践下 初步设计的接口性能压力测试代码如下: #!/usr/bin/env python # -*- coding: utf_8 -*- impor ...

  10. Oracle的导出和导入

    (摘自:http://www.cnblogs.com/mchina/archive/2012/09/12/2678093.html) 数据库的备份操作是在整个项目运行中最重要的工作之一. 一.数据的导 ...