云翔 的个人资料上善若水照片日志列表 工具 帮助
2006/11/23

感恩节落听

  给予我帮助的自己都知道,不一一感谢了,人情我都记下了。
 
  祝各位感恩节快乐!
 
  明天就要离开工作了三年半的华夏大地。
2006/11/9

关于等价类测试的一些观察和等价类测试的指导方针


  1、等价类测试的弱形式不如对应的强形式的测试全面。

  2、如果实现语言是强类型,则没有必要使用健壮形式的测试。

  3、如果错误条件非常重要,则进行健壮形式的测试是合适的。

  4、如果输入数据以离散值区间和集合定义,则等价类测试是合适的。当然也适用于如果变量值越界系统就会出现故障的系统。

  5、通过结合边界值测试,等价类测试可得到加强。

  6、如果程序函数很复杂,则等价类测试是被指示的。在这种情况下,函数的复杂性可以帮助标识有用的等价类。

  7、强等价类测试假设变量是独立的,相应的测试用例相乘会引起冗余问题。如果存在依赖关系,则常常会生成错误测试用例。

  8、在发现合适的等价关系之前,可能需要进行多次尝试,

  9、强和弱形式的等价类测试之间的差别,有助于区分累进测试和回归测试。
 
  摘自:《软件测试》(美)Paul C.Jorgensen著
2006/11/7

Python概述三(字符串方法)

Python中内置了许多对字符串进行操作的类,这些类中包含许多对字符串进行操作的方法。最常见的类为str类,其中包含的方法主要有upper、lower、split 和 join 。这几个方法在字符串的操作中占有重要地位,因为它可以解决很多实际问题,分别简单介绍如下。

1.upper方法

Upper方法主要是将字符串中的小写字母全部转换为大写字母,如例2-22所示。

2-22  string9=”broadview”

         string9.upper()

其结果如图2-22所示。

 

图2-22  str类的upper方法

upper主要是针对字母来操作的,如果字符串中含有非字母类字符,则这些字符在调用upper方法后会按照原样输出。

2.lower方法

lower方法主要是将字符串中的大写字母转换为小写字母,如例2-23所示。

2-23  string10=”BROADVIEW”

         string10.lower()

其结果如图2-23所示。

 

图2-23  str类的lower方法

与upper方法一样,lower方法也是针对字母来操作的,如果字符串中含有非字母类字符,则这些字符在调用lower方法后会按照原样输出。

 
3.split方法

split方法是将字符串中的字符按照令牌字符(所谓令牌字符是指:给定字符串中的任何字符,字符串将按照整个字符进行拆分)分隔开。令牌字符可以是任何空白字符,其中包括空格符、制表符和换行符等,默认的令牌字符为空白字符。使用slipt方法可以将一个字符串拆分为许多个字符串。

2-24  string11=”this is a test!”

         string11.split()

其结果如图2-24所示。

 

图2-24  str类的split方法之令牌字符为默认字符

在上例中,split方法没有指定令牌字符,故其采用默认的令牌字符空格。即string11是按照空格字符进行拆分的。

 

2-25  string12='0:1:2:3:4:5:6:7:8:9'

string12.split(‘:’)

其结果如图2-25所示。

 

图2-25  str类的split方法之令牌字符为指定字符

上例中,split方法的令牌字符不再是默认字符,它被指定为冒号“:”,即字符串string11中的字符都以冒号分隔符分开,拆分为许多个小的字符串。

 
4.join方法

join 方法的作用与 split 方法相反, 可以使多个短字符串序列形成一个长字符串。join方法也需要指定令牌字符,这些短字符串会以指定的令牌字符为连接字符,然后形成一个长字符串。

2-26  string13=”:”

string14=(' 0’,’1’,’2’,’3’)

string13.join(string14)

 

图2-26  str类的join方法

5.find方法
  find方法的作用是找到字符串中指定字符或字符片段所对应的索引值。与上述其他方法不一样,find方法必须带一个参数,否则该方法无效。关于该方法的具体用法请参考下面的例2-27

  例2-27      string15=”address”

     string15.find(“a”)

     string15.find(‘d’)

     string15.find(‘ss’)

  其执行结果如图2-27所示。

 

2-27  str类的find方法

  从上例中可以看出,find方法找出的是字符串中指定字符或者是字符片段所对应的索引值。但是这里有几点需要格外注意:1.find方法一般是从字符串的开头开始寻找指定的字符或者是字符片段,当找到第一个指定的目标后,该方法不再寻找下一个目标;2.指定的字符片段,在计算索引值的时候被当成一个字符来处理,例如字符片段’ss’被当成一个字符处理,故其索引值为5

6atoi方法
  atoi方法是将由数字构成的字符串中的数字字符转换为数字。与其他字符串的方法不一样,使用该方法前,必须调用Python中的字符串工具模块string,具体操作如例2-28所示。

  例2-28  import string #调用系统的字符串工具模块string

         string.atoi(“ 99”)-99

  其结果如图2-29所示。

 

2-28  string工具模块的atoi方法

  注意,stringPython中内置的字符串工具模块,而不是一般的字符串名称。该字符串中不仅包含atoi方法,而且也包含上述所有的字符串方法。

Python概述二(字符串操作)

  与其他许多计算机高级语言一样,Python中的字符串的操作也是比较复杂的。Python中对字符串的主要操如表2-1所示。

  表2-1  常见的字符串操作

操作

解释

string1+string2,

合并

string*n,

重复

string[i],

索引

string[i:j],

分片

Len(string),

计算长度

for x in string,

迭代

 

  2-1中列举了字符串常见的几种操作,为了方便大家理解,下面将分别举例介绍这几种操作的实际用法。

  1.字符串合并

  所谓字符串合并,顾名思义是将两个字符串合并成一个字符串。string1+string2的含义是,将字符串string1string2合并为一个字符串,如下面例2-17所示。

  2-17  string1=”broad”

         string2=”view”

      string3=string1+string2

      print string3

  结果如图2-17所示。

 

2-17  字符串合并

  注意,在利用“+”操作符进行字符串合并操作时,表达式中不能混有数字。例如,‘view’+3,是不合法的表达式。

2.字符串重复

  所谓字符串重复,即是让同一个字符串重复,让它变成一个新的字符串。string*n的含义是让字符串重复n,成为一个新的字符串,如例2-18所示。

  例 2-18  string4=”broadview”  

          string5=string4*3

          print string5

  结果如图2-18所示。

 

2-18  字符串重复

  注意,在利用“*”操作符进行字符串合并操作时,表达式中也不能混有数字。

3.索引

  通过前面的学习应该知道,字符串一经定义,它的值是不可改变的。如果要取得已定义的某个字符串中某个或某几个字符的值,则需要用到索引。所谓索引,即是将字符串中的每一个字符按顺序编号。如果一个字符串stringn个字符组成,则它从stirng[0]开始,直到string[n-1]结束。字符串中的每一个字符都有一个相应编号,也即索引。如果要对其中的某一个字符进行操作,则必须先通过该字符所对应的索引取得该字符的值,才能执行相应的操作。为了方便理解,请先看下面的例19

  例2-19  string6=” 1234567890”

         string6[2],string[5]

  其执行结果如图2-19所示。

 

2-19  字符串索引

  从上例中可以看出,字符串string6的索引string6[2]string[5]所对应的字符分别为‘3‘’6‘。与C语言不一样的是,Python允许你使用负偏移从字符串中取得字符串中字符的值。与正偏移不一样的是,负偏移对字符串中字符的编号不是从string[0]开始,而是从string[-1]开始。例如例19中的字符串string[-2]的值为‘9‘,而不是‘8‘。还有一点需要注意的是,每个索引项所对应的值是一个单字符的字符串。

4.分片

  字符串的分片即是对字符串中的邻接字符进行操作,语句格式为string[m:n],其意义为:提取字符串中从偏移m到偏移n的字符。分片的默认下边界为0,默认上边界为字符串的最大长度。常见的分片操作及其意义举例说明如下:

  string[1:4]表示的是提取从偏移1到偏移3处的内容;

  string[2:](上边界默认为字符串的长度)表示的是提取偏移2和偏移2以后的所有内容;

  string[-2](下边界默认为0)表示的是提取该字符串的倒数第二字符以前的所有值;

  为了方便理解,请大家看下面的例2-20

  例2-20  string7=” 123456789”

         string7[1:4]

         string7[2:]

         string7[:-2]

  其结果如图2-20所示。

 

2-20  字符串的分片

  有一点需要注意的是,string7[2:]提取的是偏移2和偏移2以后的所有字符,string[:-2]提取的是偏移-2以前所有的字符,不包括偏移-2所在的字符。

5.字符串长度计算

  在所有的字符串操作中,字符串的长度计算是尤为重要的。在Python中,字符串的长度计算方法为:lenstring),如例2-21所示。

  例2-21  string8=”the game is over”

         len(string8)

  其结果如图2-21所示。

 

2-21  计算字符串的长度

  从上例中可以看出,字符串string8的长度为16。也许有人会问,为什么是16而不是14呢?道理很简单,因为字符串string8中包含两个空格字符。

不要怕

  昨晚上被死不承认是美女的美女同学开导了半天,用残酷的现实警醒我。现实我是明白的,只是不敢面对罢了,就算面对了,也不由的总会逃避。但其中谈到关于自信的问题,让我感触较深,曾经被别人说缺少自信,这次我自己是真切的感觉到了。今早坐车的时候就一直在沉思,很沉的那种,以至于睡着了。
 
  看过的动漫不算少了,每次都觉得万能主人公有一个值得我学习的地方,或是勇敢,或是努力,或是坚定到可以摧毁一切的信念,反正觉得很有魅力就是了,却不知这魅力源自何处。直到昨晚,才突然发觉这个隐藏在每部动漫主人公后面,乃至日本民族骨子里所渗透的那种精神,就是自信。
 
  现在这社会不流行生活化的人了,或者说这时候不合适太生活化。大家都在望着在云层上面欢呼雀跃的人呢。不过无论怎样,自信是没错的,就先从“不要怕”做起吧。