2015年6月6日

测试之美 Part 1

摘要: 1. 本人曾经在一次电话面试中被问到,为什么你作为一个测试人员,还要别人来告诉你要在哪些平台上去测试,你完全可以自己去定夺。下面的这段话是来自《测试之美》,我觉得很有逻辑的反驳了那位面试官。把测试人员放在“质量把关人”的位置上,操作起来蛮困难的,也不太公平。所谓“质量把关人”,就是在软件发布前已将该... 阅读全文

posted @ 2015-06-06 13:24 LilianChen 阅读(1861) 评论(0) 推荐(4) 编辑

2014年11月12日

软件测试

摘要: 1、问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?首先,将问题提交到缺陷管理库里面进行备案。然后,要获取判断的依据和标准:根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;如果没有文档依据,可以根据类似软件的一... 阅读全文

posted @ 2014-11-12 22:04 LilianChen 阅读(49704) 评论(21) 推荐(69) 编辑

2014年11月1日

测试的艺术:测试用例的设计

摘要: 由于时间和成本的约束,软件测试的最关键问题是:在所有可能的测试用例中,哪个子集最有可能发现最多的错误测试方法:黑盒测试等价类划分(Equivalence Partitioning)1. 严格控制测试用例的增加,减少为达到“合理测试”的某些既定目标而必须设计的其他测试用例的数量2. 它覆盖了大部分其他... 阅读全文

posted @ 2014-11-01 18:55 LilianChen 阅读(4731) 评论(0) 推荐(2) 编辑

2014年10月26日

测试的艺术:代码检查、走查与评审

摘要: 软件开发人员通常不会考虑的一种测试形式-人工测试。大多数人都以为,因为程序是为了供机器执行而编写的,那么也该由机器来对程序进行测试。这种想法是有问题的。人工测试方法在暴露错误方面是很有成效的。实际上,大多数的软件项目都应使用到一下的人工测试方法:1. 利用错误列表进行代码检查2. 小组代码走查3. ... 阅读全文

posted @ 2014-10-26 17:25 LilianChen 阅读(3681) 评论(0) 推荐(0) 编辑

测试的艺术: 软件测试的心理学和经济学

摘要: 软件测试的心理学:测试执行的差,其中一个主要原因在于大多数的程序员一开始就把测试这个术语的定义搞错了,他们可能会认为:“软件测试就是证明软件不存在错误的过程”“软件测试的目的在于证明软件能够正确完成其预定的功能”“软件测试就是建立一个‘软件做了其应该做的’信心的过程”这些定义都是本末倒置的。对于测试... 阅读全文

posted @ 2014-10-26 15:31 LilianChen 阅读(1367) 评论(0) 推荐(0) 编辑

2014年10月20日

Programming Ruby 阅读笔记

摘要: 在Ruby中,通过调用构造函数(constructor)来创建对象song1=Song.new("Ruby")Ruby对单引号串处理的很少,除了极少的一些例外,键入到字符串字面量的内容就构成了这个字符串的值。Ruby对双引号字符串游更多地处理。首先,它寻找以反斜线开始的序列,并用二进制值替换它们。其... 阅读全文

posted @ 2014-10-20 23:00 LilianChen 阅读(1171) 评论(0) 推荐(0) 编辑

2014年10月19日

Ruby: Case表达式

摘要: Ruby的case表达式有两种形式:第一种形式接近于一组连续的if语句:它让你列出一组条件,并执行第一个为真的条件表达式所对应的语句。第二种形式,在case语句的顶部指定一个目标,而每个when从句列出一个或者多个比较条件和if一样,case返回执行的最后一个表达式的值;而且如果表达式和条件在同一行... 阅读全文

posted @ 2014-10-19 21:50 LilianChen 阅读(983) 评论(0) 推荐(0) 编辑

自动化测试 Cucumber

摘要: Cucumber是一个能够理解用普通语言描述的测试用例的支持行为驱动开发(BDD)的自动化测试工具,用Ruby编写,支持Java和.Net等多种开发语言。Cucumber 三大组成:FeaturesStep_definitionsCucumber commandFeature是用简单的自然语言描述的... 阅读全文

posted @ 2014-10-19 15:01 LilianChen 阅读(1023) 评论(0) 推荐(0) 编辑

2013年12月16日

Java:创建线程

摘要: Java定义了两种创建线程的方法:1.实现Runnable接口要实现Runnable接口,只需简单地实现run()方法即可,声明如下:public void run()在run()方法中,可以定义构成新线程的代码。需重点理解的是,run()可以调用其它方法、使用其他类和声明变量,就像主线程能做的那样。唯一的区别是:run()方法是程序的另一个并发的执行线程的进入店,这个线程在run()方法返回时结束。创建新线程以后,直到调用了它的start()方法后才会执行。本质上,start()执行对run()的调用。// Create a second thread.public class NewThr 阅读全文

posted @ 2013-12-16 14:53 LilianChen 阅读(1544) 评论(0) 推荐(1) 编辑

Python学习 Part7:类

摘要: 1. 作用域和命名空间命名空间(namespace)就是一个从名称到对象的映射。命名空间的一些实例:内置名称集(函数,像abs(),和内置异常名称),一个模块中的全局名称,函数调用时的局部名称。命名空间在不同的时刻创建,并且具有不同的生命周期。包含内置名称的命名空间在Python解释器启动时即被创建,并且不会被删除。模块的全局命名空间在模块定义被读取时即被创建,通常模块的命名空间会一直保存到解释器退出。[总结]一个模块的引入,函数的调用,类的定义都会引入命名空间,函数中的再定义函数,类中的成员函数定义会在局部namespace中再次引入局部namespace。作用域就是一个Python程序可以 阅读全文

posted @ 2013-12-16 14:24 LilianChen 阅读(560) 评论(0) 推荐(0) 编辑

导航