摘要:
如何测试一个杯子在软件测试的面试中, 经常会碰到类似的问题。 比如:如何测试一个杯子, 或者如何测试一只笔。 要求你设计20个以上的test case.这类的面试题目,是考察面试者是否熟悉各种软件测试方法, 设计test case的能力, 以及test sense。我回答这类问题的思路, 从软件测试的各种不同方法来联想, 具体如下。功能测试(Function test)能否装水,除了装水, 能否装其他液体。比如可乐,酒精能装多少ML的水杯子是否有刻度表杯子能否泡茶,跑咖啡杯子是否能放冰箱,做冰块杯子的材质是什么(玻璃,塑料,黄金做的)外观测试(UI test)外观好不好看。什么颜色杯子的形状是
阅读全文
posted @ 2013-06-25 09:29
HackerVirus
阅读(338)
推荐(0)
摘要:
python实现基于CGI的Web应用本文用一个“网上书店”的web应用示例,简要介绍如何用Python实现基于CGI标准的Web应用,介绍python的cgi模块、cigtb模块对编写CGI脚本提供的支持。CGI简介CGI Common Gateway Interface (通用网关接口),是一个Internet标准,允许Web服务器运行一个服务器端程序,称为CGI脚本。一般的,CGI脚本都放在一个名为cgi-bin的特殊文件夹内,这样web服务器就知道到哪里查找cgi脚本。CGI Architecture DiagramWhen a request arrives, HTTP server
阅读全文
posted @ 2013-06-25 09:27
HackerVirus
阅读(1098)
推荐(0)
摘要:
64位系统下,一个32位的程序究竟可以申请到多少内存,4GB还是更多?(一)前言:cpu的位是指一次性可处理的数据量是多少,1字节=8位,32位处理器可以一次性处理4个字节的数据量,依次类推。32位操作系统针对的32位的CPU设计。64位操作系统针对的64位的CPU设计。操作系统只是硬件和应用软件中间的一个平台。我们的CPU从原来的8位,16位,到现在的32位和64位。背景:电脑的内存是8GB, 装的是32位的Win 7 32位版本,系统认出的内存是3.5GB, 应该说是4GB,因为还有0.5GB内存分配给了显存。笔者十分痛苦,花重金购置的骇客神条单条8GB竟然被瞬间阉割了4GB。为了物尽其用
阅读全文
posted @ 2013-06-25 09:26
HackerVirus
阅读(300)
推荐(1)
摘要:
分享一套 CodeSmit 代码生成模板。住博客园 5 年了,以前也发过一些博文,但都在 一天后 / 几周后 / 几年后 将它删了;因为感觉代码写得不好:不清晰或侵入太大,哪怕只有一句侵入。 可是最近重写一套 CodeSmith 代码生成模板的时候,发现自己编码能力长进不少:有能力删除大量代码了。删除得很顺利,即使不舍;看上去这是个好事,可也是个坏事:现已难以回忆起当初为什么删这些代码、更回忆不起来最初为什么加这些代码。 这些决策信息的丢失真是让人痛心疾首。 接下来,我要实现一个好玩的东西:维护对象在内存中的引用一致性。这一次,我可不想让那些左右决策的依据不翼而飞了;她们很珍贵:那是我的思路。
阅读全文
posted @ 2013-06-24 22:26
HackerVirus
阅读(356)
推荐(0)
摘要:
C#中Monitor和Lock以及区别 Monitor对象 1.Monitor.Enter(object)方法是获取锁,Monitor.Exit(object)方法是释放锁,这就是Monitor最常用的两个方法,当然在使用过程中为了避免获取锁之后因为异常,致锁无法释放,所以需要在try{} catch(){}之后的finally{}结构体中释放锁(Monitor.Exit())。 2.Monitor的常用属性和方法: Enter(Object) 在指定对象上获取排他锁。 Exit(Object) 释放指定对象上的排他锁。 IsEntered 确定当前线程是否保留指定对象...
阅读全文
posted @ 2013-06-24 22:24
HackerVirus
阅读(157)
推荐(0)
摘要:
WCF+Restfull服务 提交或获取数据时数据大小限制问题解决方案近日在使用wcf的restfull架构服务时遭遇到了提交大数据的问题。大数据包含两种情形:1)单条数据量过大。2)提交或获取的数据条数过多。 在测试时发现,默认设置下当单条JSON数据大于30K时服务便不予受理。 提交或获取数据大小的限制来自两方面,即IIS服务和WCF服务。这两方面的限制都可以通过配置WCF服务端的Web.config相关配置节点的方式解决。废话不说了,直接上解决方案。未配置的原始Web.config ...
阅读全文
posted @ 2013-06-24 22:14
HackerVirus
阅读(375)
推荐(0)
摘要:
Guava学习笔记:Ordering犀利的比较器 Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比功能更强。它非常容易扩展,可以轻松构造复杂的comparator,然后用在容器的比较、排序等操作中。 本质上来说,Ordering 实例无非就是一个特殊的Comparator 实例。Ordering只是需要依赖于一个比较器(例如,Collections.max)的方法,并使其可作为实例方法。另外,Ordering提供了链式方法调用和加强现有的比较器。 下面我们看看Ordering中的一些具体方法和简单的使用实例。 ...
阅读全文
posted @ 2013-06-24 22:12
HackerVirus
阅读(263)
推荐(0)
摘要:
正则表达式引擎:nfa的转换规则。正则到nfa前言在写代码的过程中,本来还想根据龙书上的说明来实现re到nfa的转换。可是写代码的时候发现,根据课本来会生成很多的无用过渡节点和空转换边,需要许多的代码。为了简化代码,我实现了我自己的re到nfa的规则。注意我的这套re规则只包括如下几种类型:闭包,即*运算符一个或多个,即+运算符存在或不存在,即?运算符。这三个运算符的优先级最高而且都是单目运算符。括号括起来的,即成对的括号,其实也不算运算符,只能当作分隔符。中括号括起来的,作为假名,也算是分隔符连接运算符,即.运算符,但是在输入re的时候默认不输入这个符号,只有在处理输入的时候才添加这个符号。
阅读全文
posted @ 2013-06-24 22:10
HackerVirus
阅读(542)
推荐(0)
摘要:
[珠玑之椟]位向量/位图的定义和应用 位向量/位图是一个很有用的数据结构,在充分利用小空间存储大量数据方面非常具有优势,Linux内核中很多地方都是用了位图。同时,它不但基础,而且用到了很多编程语言的知识,以及对细节的把握,常常作为面试题出现。这里将要介绍它的实现、操作、应用。 与位图(bitmap)比,我更倾向于用位向量(bit vector),前者比较容易与图形学里的名词混淆,其实提到位图,多指的是“是使用像素阵列来表示的图像”(维基百科),为了避免这一点,下文中使用位向量。先来看看产生位向量的需求: 一般地,对于多个对象和一个性质,这些对象可能满足(true)也可能不满足(fals...
阅读全文
posted @ 2013-06-24 22:05
HackerVirus
阅读(204)
推荐(0)
摘要:
VSPackge插件系列:简单文本编辑器的实现相比其它开发环境,VS的好用就不用多说了,尽管VS很人性化,但是针对具体的我们想实现的功能时,会力不从心,也许会有很多现成的插件,但是作为一名程序员,我还是喜欢自己去写一些东西,因为这样能随心所欲的想做什么就做什么。 开始做事之前,我们不得不做很多的准备工作,比如说VS sp1我们得安装,理解vs插件有哪些,我们也都查不少文章,看很多哪些令人讨厌的msdn, 这些都不重要,重要的是,结果我们总会做出一个vs插件,哪些只是在磨刀而已。为什么我们会选VSPackge插件,而不是宏命令,或者addin。我们如何快速建立一个工程,我们的会花费不少时间去解.
阅读全文
posted @ 2013-06-24 22:04
HackerVirus
阅读(383)
推荐(0)