背景介绍

众所周知,软件测试不可能发现所有的缺陷,而且软件开发周期各个阶段仍然存在注入缺陷的可能,但是,有一些缺陷是可以避免却容易被忽略的,通过本篇文章我们主要谈谈笔者最近测试期间发现的一些容易忽视问题。

前端

01 浏览器“回退”和“前进”按钮

试想我们创建一个事物需要三个步骤,每一步添加完,都会先保存这一步的数据。在中间任意一步点击页面的其它按钮都会删除已经创建的部分数据,以保证数据的完整性。大部分人可能都会关注页面的按钮而很少会关注创建过程中点击浏览器“回退”按钮的情况。这样在创建中间步骤时用户根据习惯点击“回退”按钮,就可能会导致系统中存在错误的部分数据,影响系统功能。

02 js错误

在测试web系统时,浏览器最好在F12(开发者调试)模式,一方面方便查看接口的请求与响应,另一方面方便检查页面交互是否会有js错误。有些情况即使页面功能没有问题,也应该排查为什么会出现js错误。

03 修改比新增问题多

修改编辑功能一般比单独的新增、删除操作问题多,测试过程中应该多留心。

04 前端边界值测试

读者可以先看下图的两个进度条有没有什么问题,细心的同学会发现在绿色的部分显示的是白色的字,而下面的显示的是黑色的字,这样显示的原因比较明显(白色的字在白色的底是看不见的),但是大家想象下,图中第一个进度条的进度是1%或者2%是什么情况。真实情况是在1%或者2%的进度下绿色部分是不能覆盖住白色的字,到时候页面展示的可能就是个1或者2啦。

05 接口调用顺序

笔者在测试报表的时候,查询条件较多,接口返回的速度不一致。那么在切换不同的查询条件的时候,经常会出现最后查询结果是最开始的查询条件。针对返回较慢的接口一定要注意查看数据是否正确。

服务端

01 查看开发代码

测试新任务之前,至少要review下代码,不能轻易听信开发的改动点。有些服务端的改动,在前端根本看不出来。其次,最好查看开发的代码实现,现在很多项目软件架构越来越复杂,业务流程也更加的繁复,仅通过黑盒方式越来越难以控制软件质量,查看开发代码,可以帮助我们新增一些测试case,测试更充分。具体体现在下面三方面:

  • 加强业务理解,发现逻辑缺失;

  • 帮助开发定位问题,增加开发对QA同学的认可,提升专业性

  • 学习新的技术以及架构设计;

在代码走查的时候,我们也要避免这个误区,接到测试任务沉溺于查看开发代码,以致测试时间过半才开始测试系统,最终项目延期。

个人建议在接到测试任务的时候,先进行一遍冒烟测试,熟悉业务逻辑后,针对复杂业务查看开发代码,而一些简单的增删改查我们直接查看日志中的sql即可,不用每个都去分析,挑一些看起来比较重要的,抽时间去排查、定位问题代码,这个不会花费太多的时间。

02 0与空

服务端在没有数据的情况下有时会以0填充返回结果,这是很不合理的。0与空具有不同的意义,0代表的是一个数值,说明数据值为0,最好在没有数据时以“--”等特殊符号代替,而不是以一个有具体值含义的0代替。

03 难复现的bug

任何时候发现bug再次验证没有复现的一定还是bug,可以多想想测试步骤,多试几次将bug找出来;实在不能复现的,必须如实的记录发生的问题。

关系型数据库

一般来说,测试的时候我们会验证数据从输入、转换直至存储到数据库这一流程是否正确,还会根据数据库中字段的长度验证前端输入以及接口的请求,但往往容易忽略数据库中一些特殊类型的的检查。

01 timestamp类型

关注数据库中timestamp类型的数据,校验是否确实需要将timestamp设置为根据当前时间戳更新。试想一下,假如数据表中“结束时间”字段我们设置为“根据当前时间戳更新”,然后将这张表新增一个字段,那么所有的结束时间都会更新结束时间,导致系统数据出现严重问题,用户也肯定会特别纳闷吧。

02 create_time、update_time的验证

我们会遇见这种情况,明明是插入操作,数据库却都存为更新时间,没有创建时间。也会出现这种情况,更新字段的值在每次更新却没有更改,这些常见的小问题虽然在页面显示不出,但是对排查线上问题有很大帮助,都应该关注。

03 varchar、text这类型的校验和预估

验证每个字段的类型以及长度是否合理,255长度之内的一般前后端开发都要有校验,对于text类型字段,一定要预估用户可能的数据量,尤其是那种不断追加的字段,很有可能随着时间的增长,出现越界问题。

总结

测试是一个迭代反复的过程,在这个过程中再怎么认真仔细都不为过,一定要抠住细节,精确到页面每个按钮,每个功能逻辑点,最终保障我们的产品有一个好的交付质量。

转载于:https://www.cnblogs.com/yulia/p/8616163.html

这些测试细节,你注意到了吗?相关推荐

  1. 初识测开/测试- 细节狂魔 - 测开/测试方向

    文章目录 前言 什么是软件测试? 实战练习 软件测试和软件开发的区别 技能 && 难易程度 杂项:薪资,工作环境,工作压力 发展前景 一个经典面试题:软件测试 和 软件开发中的调试 有 ...

  2. 移动app测试的多样性_app移动端接口性能测试

    13. APP测试和WEB测试有什么区别? 1. 从技术上来说: * 测试类型 :WEB测试有功能测试.性能测试.安全性测试.GUI测试. APP测试除了有WEB测试的类型还增加专项测试,特性测试,适 ...

  3. atm系统的用例模型_战斗系统执行式测试经验汇总

    (注:文章内图片均为项目内部资源,请勿随意转载) 模块简介 L18,倩女幽魂隐世录这款游戏,在我加入项目后,以19.5.30测试为分界线,经历过一次几乎是整体规模的迭代.由传统武侠式MMO转变为赛博风 ...

  4. 命令测试post_【第2088期】前端中台化,把格局做大——NodeJS 和测试服务探索

    前言 今日早读文章由<React状态管理与同构实战>作者@LucasHC投稿分享. 正文从这开始~~ 近些年,「NodeJS 应该如何在公司业务中真实落地 」这类问题屡见不鲜.自从 200 ...

  5. “开源”vs“商业”,差别到底有多大?这篇测试一目了然

    近些年来在数据分析领域,涌现出很多开源的技术方案,例如Presto.Spark.Impala等.面对多种选择,客户往往会比较困惑.无从下手.此外,MySQL生态非常火热,但对于数据分析类场景,使用此类 ...

  6. 测试人员的系统性思维

    目录 一.如何理解系统性思维 二.实现系统性思维的三维转变 三.系统性思维在测试中的应用 四.如何养成系统性的测试思维 五.系统性思维的难点 六.学习资料 一.如何理解系统性思维 系统性思维就是从整体 ...

  7. 测试开发之缺陷报告上篇

    一. 软件缺陷的判定 1 什么是缺陷 软件存在着不符合质量需求或违背软件用户.客户.企业意愿的问题,这就是软件缺陷 (Defect),又叫"Bug(臭虫)". 2 软件缺陷的判定准 ...

  8. 测试分析之从用户价值角度设计测试点

    本文纯属个人观点,如果有不同意见,轻喷 说道测试流程,很多人都知道需要评审,然后根据需求设计用例,然后测试.那么评审测试究竟在干嘛呢?我概述一下我以前刚工作问周边同事的理解,他们是这么样说的: 作为一 ...

  9. FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇一

    前言 DDR3 如何测试?可以使用FPGA仿真测试,这里使用MicroBlaze + MIG IP 测试 DDR3,直接通过读写DDR3来验证,因为使用IP,会很快的搭建测试环境,并且不需要了解DDR ...

最新文章

  1. 用SimpleDateFormat类设置时间格式
  2. shell脚本使得nginx日志每天定时切割压缩
  3. CTFshow 文件上传 web162
  4. python代码执行过程记录_[原创]IDAPython+OdbgScript动态获取程序执行流程
  5. WinRAR在DOS下压缩/解压缩的使用方法
  6. HTML复古游戏官网模板
  7. CubeMX配置串口的程序烧入板子不跑的解决方法
  8. Android Studio 第五十五期 - Studio3.0升级到gradle3.0.0后API失效方案
  9. 移植emwin到stm32f205上卡死在gui_init();
  10. 华为2019实习生专业面试经历——通信算法工程师
  11. 远程服务器停止运行怎么回事,远程桌面连接已停止工作解决方法
  12. 测试计划和测试方案区别
  13. python3使用smtplib发邮件被退回
  14. Win11删除英文输入法的方法教程
  15. python0.1+0.2不等于0.3_为什么0.1+0.2不等于0.3
  16. 华为机试(JAVA)真题Od【A卷+B卷】
  17. mac SnailSVN如何拉取多个svn副本
  18. 搜索软件everything,搜索电脑中文件,快速定位
  19. 黑苹果 【 I7 8700K z370 1060 和 I7 7700K z270 集显 的安装记录】
  20. 100G波分复用(WDM)宽带传输设备

热门文章

  1. mysql 正则 换行符_MySQL 正则表达式
  2. php排序算法面试题,PHP面试:尽可能多的说出你知道的排序算法
  3. java生僻字_Android上显示生僻字的方法
  4. 树莓派红外避障小车python_基于树莓派的环保“捡垃圾”机器人小车(避障、摄像、红外、WIFI)...
  5. 学了一年matlab,我到现在还不会读论文~
  6. 基于评论、新闻的情感倾向分析作商品的价格预测
  7. max std value 宏_【转载】:【C++跨平台系列】解决STL的max()与numeric_limits::max()和VC6 min/max 宏冲突问题...
  8. python装饰器解析请求参数_我如何在装饰器中获得Flask可选的URL参数?
  9. poj 2922 Honeymoon Hike
  10. Fedora17下Firefox安装flashplayer