【软件测试】场景法设计测试用例

概念和定义 不完全、不彻底是软件测试的致命缺陷,任何程序只能进行少量而有限的测试。测试用例在此情况下产生,同时它也是软件测试系统化、工程化的产物。而测试用例的设计一直是软件测试工作的重点和难点,那么 什么是测试用例? 为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,称之为测试用例。 我们不可能进行穷举测试,为了节省时间和资源、提高测试效率,必须要从数量极大的可用测试数据中精心挑选出具有代表性或特殊性的测试数据来进行测试。 怎样的用例算是好用例? 一个好的测试用例是在于它能发现至今未发现的错误。

我是如何从煤矿工成为程序员的

我来自于一个东欧国家。我在一个煤矿里工作了很多年(在一个很深的矿井里)。每天我都处在危险中,那些年都是这样度过的。后来我感觉过够了这种生活,决定去寻找另外一种生活(挖煤没有任何前途。)我很年轻,没有任何负担,跟你们一样。 离开煤矿时,政府给了我们一笔钱(大概是2500美元——这在那时在我们国家相当于一个矿工一年的薪水)。我拿着这笔钱就开始学习计算机。那时其实我什么都不懂。只是看到过一些图片和读过句介绍。我买了一台老式的486计算机(这花去了四分之一的钱),和一个打印机(另外四分之一)。我报了一个大学的计算机培训课程(学了几个月),但大部分都是在自学。这样持续了大概两年。学习如何使用计算机…如何 […]

软件自动化测试实施难点分析

随着国内企业软件开发及测试水平的提升,许多企业开始尝试开展自动化测试的应用,以提高测试效率和测试质量。虽然在国外自动化测试工具应用已经很普遍,但国内许多企业对于软件自动化测试的理解还停留在表面上,没有深入的理解到企业实施自动化测试所要具备的条件以及自动化测试本身的局限性,导致自动化并没有给企业带来多少实际的价值,反而还浪费了资源。下面是两个企业推行自动化失败的案例: 案例1:L公司是中国一家专注医疗设备与软件研发的高科技企业,产品包括超声,放射,检验和医疗IT。医疗IT软件产品包括超声工作站、放射工作站、叫号工作站、信息系统等。整个软件产品线有80多名工程师,测试工程师有15人。以前公司的测试 […]

程序设计里的“小聪明”(1)

来源:王垠的博客 很早就想写这样一篇博文了,可是一直没来得及动笔。在学校的时候,时间似乎总是不够用,因为一旦有点时间,你就想是不是该用来多看点论文。所以我很高兴,工作的生活给了我真正自由的时间,让我可以多分享一些自己的经验。 我今天想开始写这系列文章的原因是,很多程序员的头脑中都有一些通过“非理性”方式得到的错误观点。这些观点如此之深,以至于你没法跟他们讲清楚。即使讲清楚了,一般来说也很难改变他们的习惯。

MBA经典案例

某企业引进一条香皂包装生产线,结果发现经常有空盒流过。厂长请一个博士后花了200万设计出了自动分检系统。一乡镇企业遇到同样问题,农民工花90元买一大电扇放在生产线旁,有空盒经过便被吹走。 【启示】现在社会,文凭不代表水平,学历代替不了能力,知识不一定能转化为生产力!

2013-陈永达聊框架

最近很多朋友都问了我关于自动化测试框架的东西,我就用我对框架淡薄的认识,聊一下我对框架的理解,个人见解,欢迎讨论。 框架一词在自动化测试里,一直都是一个很模糊的概念,到底什么是框架?搜索一下:框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。

【考试】关于软件评测师

去年考了次软件评测师,第一次考,也很意外的一次就过了。 那次考试考前也做了一些笔记,现在拿出来做一个共享: 【上午卷整理】 【操作系统】 1. 程序计数器(PC)用于保存要执行的指令的地址,访问内存时,需先将内存地址送入存储器地址寄存器MAR中,向内存写入数据时,待写入的数据要先放入数据寄存器MDR。程序中的指令一般放在内存中,要执行时,首先要访问内存取得指令并保存在指令寄存器IR中。 2. 程序计数器(PC)用于存储指令的地址,CPU根据该寄存器的指令从内存读取待执行的指令,该寄存器可以由程序员访问。 3. 指令寄存器(IR)用于暂存从内存取出的、正在运行的指令,这是由系统使用的寄存器,程序 […]

【VBS】字符串函数介绍

1. Split(expression, delimiter, count, compare) 返回基于 0 的一维数组,其中包含指定数目的子字符串。 expression:必选。字符串表达式,包含子字符串和分隔符。如果 expression 为零长度字符串,Split 返回空数组,即不包含元素和数据的数组。 delimiter:可选。用于标识子字符串界限的字符。如果省略,使用空格 (” “) 作为分隔符。如果 delimiter 为零长度字符串,则返回包含整个 expression 字符串的单元素数组。 count:可选。被返回的子字符串数目,-1 指示返回所有子字符 […]

【VBScript教程】VBScript编码约定

文章来源: 网络 什么是编码约定? 编码约定是帮助您使用 Microsoft Visual Basic Scripting Edition 编写代码的一些建议。编码约定包含以下内容: 对象、变量和过程的命名约定 注释约定 文本格式和缩进指南 使用一致的编码约定的主要原因是使 Script 或 Script 集的结构和编码样式标准化,这样代码易于阅读和理解。使用好的编码约定可以使源代码明白、易读、准确,更加直观且与其他语言约定保持一致。

【VBScript教程】VBScript过程

文章来源: 网络 过程分类 在 VBScript 中,过程被分为两类:Sub 过程和 Function 过程。 Sub 过程 Sub 过程是包含在 Sub 和 End Sub 语句之间的一组 VBScript 语句,执行操作但不返回值。Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果 Sub 过程无任何参数,则 Sub 语句必须包含空括号 ()。

【VBScript教程】使用循环语句

文章来源: 网络 使用循环重复执行代码 循环用于重复执行一组语句。循环可分为三类:一类在条件变为 False 之前重复执行语句,一类在条件变为 True 之前重复执行语句,另一类按照指定的次数重复执行语句。 在 VBScript 中可使用下列循环语句: Do…Loop: 当(或直到)条件为 True 时循环。 While…Wend: 当条件为 True 时循环。 For…Next: 指定循环次数,使用计数器重复运行语句。 For Each…Next: 对于集合中的每项或数组中的每个元素,重复执行一组语句。

【VBScript教程】VBScript运算符

文章来源: 网络 VBScript 有一套完整的运算符,包括算术运算符、比较运算符、连接运算符和逻辑运算符。 运算符优先级 当表达式包含多个运算符时,将按预定顺序计算每一部分,这个顺序被称为运算符优先级。可以使用括号越过这种优先级顺序,强制首先计算表达式的某些部分。运算时,总是先执行括号中的运算符,然后再执行括号外的运算符。但是,在括号中仍遵循标准运算符优先级。

【VBScript教程】VBScript常数

文章来源: 网络 什么是常数? 常数是具有一定含义的名称,用于代替数字或字符串,其值从不改变。VBScript 定义了许多固有常数。详细信息,请参阅 VBScript 语言参考。 创建常数 您可以使用 Const 语句在 VBScript 中创建用户自定义常数。使用 Const 语句可以创建名称具有一定含义的字符串型或数值型常数,并给它们赋原义值。例如:

【VBScript教程】VBScript变量

文章来源: 网络 什么是变量? 变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 Script 运行时可更改的程序信息。例如,可以创建一个名为 ClickCount 的变量来存储用户单击 Web 页面上某个对象的次数。 使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。在 VBScript 中只有一个基本数据类型,即 Variant,因此所有变量的数据类型都是 Variant。 声明变量 声明变量的一种方式是使用 Dim 语句、Public 语句和 Private 语句在 Script 中显式声明变量。例如: Dim Degrees […]

【VBScript教程】数据类型

文章来源: 网络 什么是 VBScript 数据类型? VBScript 只有一种数据类型,称为 Variant。Variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。因为 Variant 是 VBScript 中唯一的数据类型,所以它也是 VBScript 中所有函数的返回值的数据类型。 最简单的 Variant 可以包含数字或字符串信息。Variant 用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理。这就是说,如果使用看起来象是数字的数据,则 VBScript 会假定其为数字并以适用于数字的方式处理。与此类似,如果使用的数据只可能是字符串,则 […]

【VBScript教程】什么是 VBScript

文章来源: 网络 Microsoft Visual Basic Scripting Edition 是程序开发语言 Visual Basic 家族的最新成员,它将灵活的 Script 应用于更广泛的领域,包括 Microsoft Internet Explorer 中的 Web 客户机 Script 和 Microsoft Internet Information Server 中的 Web 服务器 Script。 易学易用 如果您已了解 Visual Basic 或 Visual Basic for Applications,就会很快熟悉 VBScript。即使您没有学过 Visual Ba […]

创业前辈如是说:Box公司65岁高龄Android工程师给创业者的忠告!

很少有人能够经历过计算机的兴起和手机移动应用的发展,幸运的是,Maynard都经历了,如今已经65岁的他对于他从事多年的领域有着自己的见解:“看多了大风大浪,我发现许多创业企业衰落的原因是因为他们并没有坚持自我,”Maynard说,“我认为我们大多人已经失去了软件工程师设计的精神。” David Maynard是一个65岁的安卓工程师,在Box工作。他现在每天依旧要编代码,“这真的并不容易”, 他说,“有时候当我觉得自己什么都不会了需要提升自我的时候,我不得不离开公司。”

让IT工作者过度劳累的13个坏习惯

你的工作是不是总也做不完?是不是经常加班?有时候这一切很可能是由坏习惯造成的…… 1.QQ、MSN、Gtalk,一个都不少。 由于聊天对象与聊天内容的不可控制性,使用即时通讯软件是降低工作效率的罪魁祸首。有调查显示,使用即时通讯软件,工作效率会降低20%. 2.“总想多看一点点”——忘记上网的目的。 本想查找工作资料,结果在网页上发现《哈利波特7》出来了;再点进去,又在网页底端看到自己喜欢的明星跟某某又传出了绯闻……点着点着,就忘记自己要上网做什么了。

不懂技术的人不要对懂技术的人说这很容易实现

“这个网站相当简单,所有你需要做的就是完成X,Y,Z。你看起来应该是技术很好,所以,我相信,你不需要花费太多时间就能把它搭建起来。” 我时不时的就会收到这样的Email。写这些邮件的人几乎都是跟技术不沾边的人,或正在研究他们的第一个产品。起初,当听到人们这样的话,我总是十分的恼怒。他们在跟谁辩论软件开发所需要的时间?但后来我意识到,即使我自己对自己的项目预测要花去多少开发时间,我也是一筹莫展。如果连我自己都做不好,我何必对那些人恼怒呢?

不是人人都适合编程

最近一部名为“学校不会教的东西”的短片甚嚣尘上,引起了大众的关注。短片的中心思想就是“人人都能编程”,而且其中还有几位知名富豪宣传这一论点。(顺便提一句,这些富豪的钱是通过雇佣别人编程而赚取的,并非靠自己编程。) 前几天我弟弟来了,他是一个做梦都想发财的主。他对我说:“我想和你一样,我要编程”。毫无疑问,他看过了那部短片。 我想说的是,这一切根本不靠谱。不是人人都适合编程(简单的入门除外),更重要的是,并非人人都能把编程作为职业。

一次谷歌面试趣事

很多年前我进入硅谷人才市场,当时是想找一份高级工程师的职位。如果你有一段时间没有面试过,根据经验,有个非常有用的提醒你应该接受,就是:你往往会在前几次面试中的什么地方犯一些错误。简单而言就是,不要首先去你梦想的公司里面试。面试中有多如牛毛的应该注意的问题,你可能全部忘记了,所以,先去几个不太重要的公司里面试,它们会在这些方面对你起教育(再教育)作用。 我第一家面试的公司叫做gofish.com,据我所知,gofish这家公司如今的情况跟我当时面试时完全的不同。我几乎能打保票的说,当时我在那遇到的那些人都已不再那工作了,这家公司的实际情况跟我们这个故事并不是很相关。但在其中的面试却是十分相关的。 […]

【DOM】常用的DOM属性和方法

常用的DOM 属性 ● className.同一样式规则的元素用相同的类名。可以通过className快速过滤出一组类似的元素。 ● document.用于指向包含当前元素的文档对象。 ● id.当前元素的标识。如果文档中包含多个相同id的元素,则返回一个数组。 ● innerHTML.用于指向当前元素的开始标记和结束标记之间的所有文本和HTML标签。 ● innerText.用于指向当前元素的开始标记和结束标记之间的所有文本和HTML标签。 ● offsetHeight, offsetWidth.元素的高度和宽度。

【自动化框架】构建全程自动化测试框架

转自网络 如果自动化测试框架能管理测试项目、安排任务,将产品用户需求和测试需求很好地结合起来,那么测试目标更明确,测试的效率会得到进一步提高。测试结果的分析也是很重要的,一般也要求在自动化测试框架中得到解决。最重要的是易用,将各个工具集成起来,并能很好地使用这些工具。例如,openqa.org社区提供了一个工具Bromine,它集成了Selenium Core/RC,非常容易跟踪和管理测试项目、需求、测试计划、测试用例和缺陷,可以监控缺陷的提交和将缺陷分派给相应的开发人员,浏览和分析测试结果。 一个理想的自动化测试框架能解决上述问题,提供一个分布式的通讯平台、友好的人机交互界面和开放式架构,将 […]

【自动化框架】谈自动化测试框架思想与构建

  序言:也许到现在大家对所谓的“自动化测试框架”仍然觉得是一种神秘的东西,仍然觉得其与各位很远;其实不然,“自动化测试框架”从理念来说,并不复杂,但其之所以神秘,是因为其运用起来很是复杂,每个公司,每个部门其产品线,其运作流程都是不同的,所以就导致了在想运用“自动化测试框架”去完成自动化测试时产生了很多不定因素,导致了很多自动化测试项目的失败,让人对“自动化测试框架”开始敬而远之。 而自动化测试发展也有一段时间了,为什么到现在虽见其火热,但难见其规模,关键是大家对其的定位,很多公司以及很多人都知道做好自动化测试不简简单单的靠一个工具,而更需要一个框架,但其总是对“自动化测试框架”缺乏清晰的定 […]

【自动化框架】自动化测试应用场景发展趋势的总结与分享

最近一段时间在领导设计和开发一套新一代的自动化系统,该自动化系统不同于2003年时自己第一次开发的功能回归自动化测试框架、也不同于在过去几年经历和运用的各种自动化测试方法、工具和平台。为了好好整理下自己不同阶段的自动化测试经验,留下自己在自动化测试领域的所见所闻和认知,计划写这篇博客。同时也请各位一直专注于自动化测试领域的专家们针对下面遗漏的内容提供更多的建议,一起来完善自动化测试体系的知识和认知结构。 自动化测试的常见作用 1、手工回归测试变机器自动回归 2、自动实现大规模的重复和并行测试操作(如自动化性能测试) 3、实现边界处理能力的测试 4、自动找到bug