Thursday, May 13, 2010

强大的ipython

输入pdb,则当出现异常的时候,自动进入调试模式。
可以调用run命令运行一个程序。
 
可以bg运行,然后jobs调用。
 
ipython -p sh,这样所有的shell命令在ipython下就可以使用了。
当然,rehash将bash下可用的命令在 ipython下也变成可用的。
不过vi就变成没有颜色的了,如何修改呢?
 
?,在ipython下的功能非常强大,可以?一个函数,一个类等。
比如? print.
os ??,则会显示出对应的代码。
 
whos,显示当前的变量。
 
rep:将上一命令的输出作为本次命令的输入。

Wednesday, May 12, 2010

是不是

你是不是也觉得世界上最遥远的距离是13号线和2号线的换乘?
你是不是也常常45°仰望天空,觉得天没以前蓝空气没以前新鲜?

python:标准输出重定向并复原

示例如下:    
    o=os.dup(sys.stdout.fileno())        #将标准输出备份
#将文件dup到标准输出,并关闭标准输出
    p=open('./test.html','wb+')
    os.dup2(p.fileno(), sys.stdout.fileno())
#此后所有的print将直接打印到文件
    print "hello,world\n"
    print "hello,world\n"
    print "hello,world\n"
    print "hello,world\n"
    print "hello,world\n"
#将标准输出复原,
    os.dup2(o, sys.stdout.fileno())
    print "hahaxix"

Sunday, May 09, 2010

测试行业 业界相关

1 介绍个人成熟度矩阵

Personal Test Maturity Matrix,描述个体工程师的能力发展,而不是一个组织上的。通过四维角度描述测试工程师的能力:测试技能、领域知识、IT技能、软技能。这个对于我们在确定工程师能力上,有了比较清晰的认识。

领域知识是指测试对象所包含背景知识,比如测试路由器,整个网络协议就是测试路由器的领域知识。也包含测试对象的本身功能,我觉得就是我们平常说的测试对象熟悉程度,对测试对象的了解。

IT技能包括编程能力、系统安装等。

软技能,既沟通能力、推进能力、责任心等等。

下面具体说一下测试技能,其包含探索性测试、黑盒测试设计、白盒测试设计、测试执行、测试报告、自动化测试、搭建测试环境、审核。

具体如下:

 

同时介绍MPS(激励潜能分数),具体计算如下:

    Skill Variety (V)

  the range of different skills needed

    Task Identity (I)

  the degree of completing a whole job

    Task Significance (S)

  the importance of the job

    Autonomy  (A)

  the level of control of their own time

    Feedback (F)

  the degree of supervisory and results-based feedback on performance

MPS=V+I+S*A*F/3

 

2 基于cpn的测试

Cpn是指软件规格说明书(用的比较多的是specification),我们mrd和这个近似。这篇讲的是基于软件规格说明书的测试,以需求规格说明作为结果检查的重要基础,反过来发现规格说明本身的错误,将测试设计活动部分前移到开发之前,提高效率,同时测试用例和系统的实现无关。

那么这其中的重点就是如何从规格说明中产生测试用例,用于描述规格说明的语言包括:自然语言、形式化语言(ZVDM)、模型(FSMUMLPetri Net)。我们的mrd都是使用自然语言来描述。

主讲人推荐使用perti net来描述规格说明。提及的好处有可视化、严格的数学定义、可动态仿真、支持状态空间的分析。

主讲人给出一个电梯和一个饮料机的例子来说明petri net

从实例中,可以看到有2个优势:1 建模之后,可以动态的验证规格是否满足需求,2 自动生成用例。

不足也有2点:1 case生成的庞大,数量众多,2 应用范围限于功能验证并且容易建模。

Thursday, May 06, 2010

graphviz install

 
#解包等。。。。
./configure --prefix=~/graphviz/ --enable-python=no  #注意此处的--enable-python=no
make && make install
 
 

Tuesday, May 04, 2010

python中的闭包概念

闭包,
如下是一种应用,或者说是一种实践:
 
def addx(x):   return lambda y: x + y    add8 = addx(8)  add9 = addx(9)    print add8(100)  print add9(100)