如何写出测不出bug的测试用例】的更多相关文章

我们写测试用例的目的是为了能够整理思路,把要测试的地方列出来,做为知识的积淀,用例可以交给其他测试人员执行,或者是跟需求提出者进行讨论,对用例进行补充和修改. 理论上用例写的越多,越容易发现bug.但是,本文我们将讨论如何写出发现不了bug的测试用例. 不看需求 要想写出测不出bug的用例,最关键的一点就是不看需求或者随便看看需求. 需求文档是个磨人的小妖精,要么是写的看不懂,要么写的太简单.这玩意很多时候我们是看不懂的,看不懂的话,嗯,那么就脑补咯,用例写的又快又好,执行的时候肯定发现不了bu…
我们写测试用例的目的是为了能够整理思路,把要测试的地方列出来,做为知识的积淀,用例可以交给其他测试人员执行,或者是跟需求提出者进行讨论,对用例进行补充和修改.那么为啥你写的用例测不出Bug来呢,真的是没有Bug吗?下面看看你的用例是不是犯了下面的几个错误. 不看需求 要想写出测不出bug的用例,最关键的一点就是不看需求或者随便看看需求. 需求文档是个磨人的小妖精,要么是写的看不懂,要么写的太简单.这玩意很多时候我们是看不懂的,看不懂的话,嗯,那么就脑补咯,用例写的又快又好,执行的时候肯定发现不了…
"出错了." 没有那句话能像"出错了"一样让程序员/开发者如此沮丧,心里翻江倒海,怒火一点即燃,还要死掉一大片脑细胞. 这句生硬的开场白通常标志着让开发者恐惧的长时间排错工作要开始了. 在我的职业生涯中,我就进行过好几次这样的对话: "出错了." "什么出错了?" "网站." "网站什么地方出错了?" "我不确定.你把它弄好就是了." 对于很多的非技术人员来说,这句话…
Chrome出了个小bug:论如何在Chrome下劫持原生只读对象 概述 众所周知,虽然JavaScript是个很灵活的语言,浏览器里很多原生的方法都可以随意覆盖或者重写,比如alert.但是为了保证网页的安全性和网页制作者的一定控制权,有些浏览器对象是无法更改的,比如"window.location"对象,或者对它们的更改是无效的,比如"window.navigator"对象.然而,最近我发现Chrome出现了一个小"bug",在Chrome…
应对未检查异常就是养成良好的检查习惯. 已检查异常是不可避免的,对于已检查异常必须实现定义好应对的方法. 已检查异常肯定跨越出了虚拟机的范围.(比如“未找到文件”) 如何处理已检查异常(对于所有的已检查异常都要进行处理): 首先了解异常形成的机制: 当一个方法中有一条语句出现了异常,它就会throw(抛出)一个例外对象,然后后面的语句不会执行返回上一级方法,其上一级方法接受到了例外对象之后,有可能对这个异常进行处理,也可能将这个异常转到它的上一级. 对于接收到的已检查异常有两种处理方式:thro…
话说栈长前阵子写了一个功能,测试 0 bug 就上线了,上线后也运行好好的,好多天都没有人反馈bug,超爽.. 不出问题还好,出问题就是大问题.. 最近有个客户反馈某些数据混乱问题,看代码死活看不出什么问题,很诡异,再仔细看代码,原来是一个全局变量的问题,导致在并发情况下出现了线程不安全的问题,事后被同事们打脸!!! 慎用全局变量,我在公司一直在强调,没想到这么低级的问题居然发生在自己身上,说起来真的惭愧啊.. 最开始使用的是 Spring 注入对象的方式: @Autowired private…
有时不知道什么,有时javascript的alert()的消息框不弹出或者弹出信息有误,代码是这么写的: //提示信息 public static void alert(TemplateControl target, string msg) { string scriptString = "alert('" + msg + "')"; target.Page.ClientScript.RegisterClientScriptBlock(typeof(Template…
原生Js封装的弹出框-弹出窗口-页面居中-多状态可选   实现了一下功能: 1.title可自定义 可拖拽 2.width height可以自定义 3.背景遮罩和透明度可以自定义 4.可以自己编辑弹出框里的html 5.确定 取消按钮可选 调用方法: 1 Prompt.add();//生成遮罩和弹出div 2 3 4 5 Prompt.init({ //修改参数 6 title : "我是个alert弹出框", 7 shade : true, 8 opacity : 20, 9 wid…
问题描述: 数组a[n]中存放1-n中的n-1个数,给出算法找出重复的那一个数. 算法一: 对数组a[n]进行冒泡排序,如果冒泡所得的最值和前一个最值相等,则该最值为重复的数. 分析: 该算法时间复杂度最坏的情况为O(n的2次方),在空间开销上只需要一个额外的交换空间. 如何将时间开销减小呢?下面给出另外一种算法 算法二: 给定另外一个数组b[n],将a[n]中的数作为数组b的索引,然后遍历b[n],如果未访问过,则标记:如果已经访问过,则该索引就为重复的数. 分析: 该算法时间复杂度能够达到最…
ISO C++标准委员会不是一个一般意义上权力机构,基本上愿意交会费,愿意自己出时间,出酒店机票,出提案,每年全世界参加会议被专家巨细靡遗地评头论足,就可以申请加入. 所以参加标准委员会背景各异,有人以语言培训为生去了解最新进展,有人去代表公司利益,还有人去刷学术资历.包含公司代表在内(微软就多年不甩标准委员会搞一套自己的VC++, Herb进去后才扭转风气,积极参与),多少有些为了满足马斯洛模型顶层需求,通过为广大人民服务实现自我价值. 被影射成高高在上,何不食肉糜的官僚机构.肖恩说,里面的人…
一.主要用途 弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示的ViewController,如UIImagePickerController等.弹出模态ViewController主要使用于一下这几种情形: 1.收集用户输入信息 2.临时呈现一些内容 3.临时改变工作模式 4.相应设备方向变化(用于针对不同方向分别是想两个ViewController的情况) 5.显示一个新的view层级 这几种情形都会暂时中断程序正常的执行流程,主要作用…
前言: 昨天读到了一篇文章,讲的是TDD,即Test-Driven Development,测试驱动开发.大体意思是,它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行.这有助于编写简洁可用和高质量的代码,并加速开发过程. 初读之时,瞬间感受到了震撼,感觉和自己之前的开发流程全都不一样,之前是由始至终,而这种思想确实以终为始.后来一查这种思想早在前几年甚至前几十年就被提出了,进而被广泛运用到了敏捷开发中.看来是自己孤落寡闻了,于是我准备将这…
在基于DevExpress的多文档窗口界面中,我们一般使用XtraTabbedMdiManager来管理多文档窗口的一些特性,如顶部菜单,页面的关闭按钮处理,以及一些特殊的设置,本篇随笔介绍这些特点,并着重介绍它的几个属性设置,使得在Winform框架的多文档界面中实现双击子窗口单独弹出或拖出及拽回的处理. 1.Winform框架的多文档界面效果 多文档界面有其非常好的窗口内容管理便利,现在很多BS的窗口,都讲究多窗口话,主要就是为了方便不同内容的展示及参考处理.在Winform的DevExpr…
宝剑锋从磨砺出,梅花香自苦寒来,大家好,我是小码哥 整理好的八股文终于完成了,希望看完对大家面试有所收获! 目录: 基础篇 javaOOP面试题 java集合/泛型面试题 java异常面试题 java中的IO和NIO面试题 java反射面试题 java序列化 进阶篇 多线程 JVM面试题 锁篇 Mysql数据库篇 其他 ZooKeeper面试题 Dubbo面试题 MongoDB面试题 Kafka面试题 Nginx篇 Linux篇 数据结构面试题 算法面试题 Memcache面试题 基础篇 共17…
1.双边距BUG float引起的  使用display:inline 2.3像素问题 使用多个float和注释引起的 使用dislpay:inline -3px   3.超链接hover 点击后失效  使用正确的书写顺序 link visited hover active 4.Ie z-index问题 给父级添加position:relative 5.Png 透明 使用js代码 改 6.Min-height 最小高度 !Important 解决’ 7.select 在ie6下遮盖 使用ifra…
在前面,我们分别利用泰勒公式和C标准库中的mktime()函数推算了某个特定日期所对应的星期几,刚做完这些,就又遇到了一个与日期相关的新任务: 老板把每个月例会的时间定在了每个月的第一个星期一,他让我把具体日期整理出来,发给每一个成员,提醒大家准时参加. 简单地讲,也就是把每个月的第一个星期一对应的日期提取出来.如果时间范围比较短(比如一年),自己翻翻日历勉强也能解决,如果要是时间范围比较长(比如十年),再去一个个翻日历,就麻烦了.怎么办? 还记得我们在学了C语言,如何统计一篇英文文章中的单词数…
在日常生活中,我们常常遇到要知道某一天是星期几的问题.有时候,我们还想知道历史上某一天是星期几.比如: “你出生的那一天是星期几啊?” “明年五一是不是星期天?我去找你玩?” 通常,解决这个问题的最简单办法就是看日历,但是我们总不会随时随身带着日历,更不可能随时随身带着几千年的万年历.老师告诉我们,学习C语言,就是为了用它来帮助我们解决实际问题的,那么,既然我们通过<C程序设计伴侣>学了C语言,如何用C语言写个程序来推算出自己出生的那天是星期几呢? 答案当然是肯定的(要不然,我也不会在这里啰嗦…
类似百度的登录弹出框,可用jquery的fadeIn(),hide(),show(),slideDown()等动画函数实现,一下为html5 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <link type="text/css" rel="…
模态框: html部分: <!-- 按钮 --> <button id="box" onclick="pop_box()">弹出框</button> <!-- 弹出模态框 --> <div class="div-container" id="div-container" style="display: none;"> <div class=&…
通过aspose.words创建表格时,每一个表格总是有一个制表符,和空格差不多,经过查找原因如下: 我是先通过书签找到需要插入表格的位置,在这个位置开始写表格的操作.问题出在书签上,这个书签在创建的时候没有左对齐,留了制表符,造成了这个结果. 处理方法很简单,将书签的制表符或者空格删除.…
为了验证爬虫的业务流程.性能和健壮性需要进行测试. 软件测试是描述一种用来促进鉴定软件的正确性.完整性.安全性和质量的过程.软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程. 软件测试的目的:(1)测试是为了发现程序中的错误而执行程序的过程.(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案.(3)成功的测试是发现了至今为止尚未发现的错误的测试.(4)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生…
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures]) sURL -- 必选参数,类型:字符串.用来指定对话框要显示的文档的 URL. vArguments -- 可选参数,类型:变体.用来向对话框传递参数.传递的参数类型不限,包括 数组等.对话框通过window.dialogArguments来取得传递进来的参数. sFeatures -- 可选参数,类型:字符串.用来描述对话框的外观等信息,可以使用以下的…
打包后下拉列表出现的空元素bug 之前的项目element-plus版本是 "^1.0.2-beta.70"  把他升级一下就好了 npm i element-plus@1.0.2-beta.70 升级遇到的一个问题 用这个命令 npm i element-plus@^1.0.2-beta.70 --force 装好后继续下一步 然后可以 npm run build 打包,再用 serve dist 跑一下看下效果 (如果没有安装过serve的 => 终端执行  npm i se…
大家好,我是良许. 计算机专业的小伙伴,在学校期间一定学过 C 语言.它是众多高级语言的鼻祖,深入学习这门语言会对计算机原理.操作系统.内存管理等等底层相关的知识会有更深入的了解,所以我在直播的时候,多次强调大家一定要好好学习这门语言. 但是,即使是最有经验的程序员也会写出各种各样的 Bug.本文就盘点一下学习或使用 C 语言过程中,非常容易出现的 5 个 Bug,以及如何规避这些 Bug. 这篇文章主要面向初学者,老鸟可以忽略哈(其实不少老鸟依然还会犯这些低级错误哦)~ 1. 变量未初始化 当…
与上一篇<秒杀多线程第十篇 生产者消费者问题>的生产者消费者问题一样,读者写者也是一个非常著名的同步问题.读者写者问题描述非常简单,有一个写者很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者在读文件时写者也不去能写文件. 上面是读者写者问题示意图,类似于生产者消费者问题的分析过程,首先来找找哪些是属于"等待"情况. 第一.写者要等到没有读者时才能去写文件. 第二.所有读者要等待写者完成写文件后才能去读文件. 找完"等待"…
本实例弹出窗口主要是继承PopupWindow类来实现的弹出窗体,布局可以根据自己定义设计.弹出效果主要使用了translate和alpha样式实现,具体实习如下: 第一步:设计弹出窗口xml: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" andr…
在我们日常写注释是需要注意,在有返回值的里面不要用以下方式注释,不然不会报错,运行状态码返回也是200,但就不是想要的结果. 下面举个例子 return { 'token':token, 'user_id':user.id, ''' BUG:username 写成user_name,在source中的session中就查询不到username ''' 'username':user.username, } 要改为以下方式即可出现想要的结果: ''' BUG:username 写成user_nam…
弹出菜单HTML代码如下: <div class="mui-content"> <!--弹出列表-----------start--> <button id="menu-btn" type="button" class="mui-btn mui-btn-success mui-btn-block" style="padding: 10px;"> 列表<span cl…
1)效果: 点击“点击就送”那个按钮之后,弹窗从底部弹出并自带蒙层,然后点击弹窗之外的灰色部分就从底部消失: 第一步:引入 mui.css或者mui.min.css 引入 mui.min.js或者mui.js 第二步: <a href="弹窗ID"> </a> <div id="弹窗ID" class="box mui-popover mui-popover-action mui-popover-bottom">…
1.当svn检出项目时,发现中断,又不想重新检出可以在已检出的项目目录下右键 2.然后点击 之后直接update你的项目就可以了…