精华内容
下载资源
问答
  • 世界之大无奇不有,为什么试试自己亲手创造呢?今天小编就给大家带来网页...HTML在Web迅猛发展的过程中起着重要作用,同样也有着重要的地位。简易性:HTML版本升级采用超集方式,从而更加灵活方便。平台无关性:虽...
    c4056d71-6c1e-eb11-8da9-e4434bdf6706.gif

    世界之大无奇不有,

    为什么不试试自己亲手创造呢?

    今天小编就给大家带来网页制作的小技巧!

    c7056d71-6c1e-eb11-8da9-e4434bdf6706.gifc7056d71-6c1e-eb11-8da9-e4434bdf6706.gif

    HTML小简介

    HTML又叫超文本标记语言,是一种标识性的语言。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML在Web迅猛发展的过程中起着重要作用,同样也有着重要的地位。

    简易性:HTML版本升级采用超集方式,从而更加灵活方便。

    平台无关性:虽然PC机大行其道,但使用MAC等其他机器的大有人在,HTML可以使用在广泛的平台上

    ca056d71-6c1e-eb11-8da9-e4434bdf6706.gif

    接下来,

    就和小编一起学习,

    如何建立自己的网站吧!

    01

    HTML主要构成

    标记符< html>:说明该文件是用超文本标记语言来描述的,它是文件的开头,而

    展开全文
  • 字符串在编程中是使用频率最高数据类型,像 web 网站中显示中英文信息,使用记事本打开一个文本文件所看到内容,软件呈现给用户信息,包括你现在现在看到文字,都属于字符串,可以说字符串无处不在。...

    一旦走上编程这条路,如果不把编码这个问题搞清楚,那么它会像幽灵般纠缠你整个职业生涯。

    字符串在编程中是使用频率最高的数据类型,像 web 网站中显示的中英文信息,使用记事本打开一个文本文件所看到的内容,软件呈现给用户的信息,包括你现在现在看到的文字,都属于字符串,可以说字符串无处不在。如果字符串处理不好,或对编码不理解,编辑过程中非常容易出现乱码问题,相反如果懂编码,那么即使出现乱码,也可以自助解决。不同的编程语言对字符串的处理可能略有差异,但对字符串的编码原理却是相通的, 因此字符串和编码是每个准程序员必备知识,需要引起重视。

    先说 Python 字符串,再说编码

    来自维基百科关于字符串的定义:

    字符串(String),是由零个或多个字符组成的有限串行。一般记为s=a[1]a[2]…a[n]。

    比如为众多程序员所周知的 "hello, world!"就是一个字符串,其实不管中文英文,能写出来让人们看到的信息都属于字符串。python3 中的 print() 函数用于打印字符串(在 python2 中 print 是一个命令,可以不带括号)

    >>> s1="hello,world!"
    >>> s2="世界,你好!"
    >>> type(s1)
    <class 'str'>
    >>> type(s2)
    <class 'str'>
    >>> print(s1)
    hello,world!
    >>> print(s2)
    世界,你好!
    >>>
    

    上文中定义了两个字符串变量 s1,s2,注意 python 是动态语言,不需要事先声明变量的类型,变量的类型由其实际的值决定,运行时可动态改变,是不是非常灵活?!查看变量的类型使用 type() 函数,这个在 debug时请经常使用。

    Python 中的字符串

    python 对字符串的处理非常灵活,对字符串常用到的操作有:
    ##1.定义字符串
    python中可以使用单引号’,双绰号",三引号(三个单引号’’'或三个双引号来定义一个字符串,其中三引号可方便的定义多行文本。如下所示:

    >>> s='你好,欢迎来到清如許的公众号。'   #定义一个字符串s ,下同
    >>> print(s)                                                   #打印字符串s,下同
    你好,欢迎来到清如許的公众号。
    >>> s="你好,欢迎来到清如許的公众号。"
    >>> print(s)
    你好,欢迎来到清如許的公众号。
    >>> s='''你好,欢迎来到清如許的公众号。'''
    >>> print(s)
    你好,欢迎来到清如許的公众号。
    >>> s="""你好,欢迎来到清如許的公众号。"""
    >>> print(s)
    你好,欢迎来到清如許的公众号。
    >>> s="""你好, #定义多行文本,打印时按定义时的格式输出
    ... 欢迎来到清如許的公众号。"""
    >>> print(s)
    你好,
    欢迎来到清如許的公众号。
    >>> s='你好,欢迎来到"清如許"的公众号。'   #如果字符串中出现单引号、双引号,那么定义时不能使用相同的引号
    >>> print(s)
    你好,欢迎来到"清如許"的公众号。
    >>> s="""你好,欢迎来到"清如許"的公众号。"""    #如果字符串中出现单引号、双引号,那么定义时不能使用相同的引号
    >>> print(s)
    你好,欢迎来到"清如許"的公众号。
    >>> s="你好,欢迎来到\"清如許\"的公众号。"    #如果字符串中出现单引号、双引号,如果使用相同的引号定义,那么要使用\转义。
    >>> print(s)
    你好,欢迎来到"清如許"的公众号。
    >>> s='欢迎\                               #如果在定义时一行写不下,可以使用\连接下一行,它们仍然是一行字符串
    ... 来到清如許的公众号'
    >>> print(s)
    欢迎来到清如許的公众号
    >>> s='你好,\n欢迎来到清如許的公众号。'     #如果使用单引号或双引号打印多行文本,使用\n做为换行符
    >>> print(s)
    你好,
    欢迎来到清如許的公众号。
    >>>
    

    这里需要注意的是如果字符串中含有单引号或双引号时有两种方法:转义或使用不同的引号来定义。
    如果需要避免转义,我们可以使用原始字符串,即在字符串的前面加上’r’。如:

    >>> s = r"This is a rather long string containing\n\
    ... several lines of text much as you would do in C."
    >>> print(s)
    This is a rather long string containing\n\
    several lines of text much as you would do in C.
    

    ##2. 切片
    python 中字符串其实是一个只读的数组,我们可以通过下标来访问字符串中的任意一个字符,请看下面交互式环境中的操作和注释:(交互式环境中的语句可以保存在后缀为.py文件中当作 python 程序来执行,类似shell 语法)

    >>> s1="hello,world!"
    >>> s2="世界,你好!"
    >>> s1[0]     #python数据的下标从0开始,0表示字符串中第一个字符
    'h'
    >>> s1[1]
    'e'
    >>> s1[2]
    'l'
    >>> s1[-1]  # -1表示字符串中倒数第一个字符,是不是很容易记忆?!
    '!'
    >>> s1[-2]  # -2表示字符串中倒数第一个字符,是不是很容易记忆?!
    'd'
    >>> s2[0]   #中文字符串,也同样适用
    '世'
    >>> s2[1]
    '界'
    >>> s2[-1]
    '!'
    

    ##3.格式化字符串

    格式化字符串的目的为了更方便打印字符串,先看一个例子:
    文件名 lx_str_format.py

    #encoding=utf-8
    yourname = "农夫三拳"
    
    game = "王者荣耀"
    
    num = 100
    
    rate = 0.81236    # 注意 rate 最终的打印显示
    
    welcome_string = f"你好,{yourname},欢迎来到{game},你已获得{num}次 MVP,平均胜率 {rate:.2%}"
    welcome_string1 = "你好,{},欢迎来到{},你已获得{}次 MVP,平均胜率 {:.2%}".format(
       yourname, game, num, rate
    )
    welcome_string2 = "你好,{0},欢迎来到{1},你已获得{2}次 MVP,平均胜率 {3:.2%}".format(
       yourname, game, num, rate
    )
    welcome_string3 = "你好,{3},欢迎来到{0},你已获得{1}次 MVP,平均胜率 {2:.2%}".format(
       game, num, rate, yourname
    )
    welcome_string4 = "你好,%s,欢迎来到%s,你已获得%d次 MVP,平均胜率 %.2f%%" % (yourname, game, num, rate*100)
    
    print(welcome_string)
    print(welcome_string1)
    print(welcome_string2)
    print(welcome_string3)
    print(welcome_string4)
    

    这里使用了三种方法来格式化字符串:

    • welcome_string 使用 F-strings,是 Python3.6 版本新引入的特性,是最简洁易读,效率也是最高的。
    • welcome_string1,welcome_string2,welcome_string3 都使用了字符串的 format 函数来进行格式化,通过不同的索引来引用 format 函数的参数。
    • welcome_string4 使用 % 来格式化字符串,类似C语言中的 printf 函数,不再详述。
      三种方法都对 rate 做了 %的转换,并保留两位小数,可以看到在{}使用 ‘:.2%’ 即可显示两位的百分比。上述代码执行结果如下所示:
    你好,农夫三拳,欢迎来到王者荣耀,你已获得100次 MVP,平均胜率 81.24%
    你好,农夫三拳,欢迎来到王者荣耀,你已获得100次 MVP,平均胜率 81.24%
    你好,农夫三拳,欢迎来到王者荣耀,你已获得100次 MVP,平均胜率 81.24%
    你好,农夫三拳,欢迎来到王者荣耀,你已获得100次 MVP,平均胜率 81.24%
    你好,农夫三拳,欢迎来到王者荣耀,你已获得100次 MVP,平均胜率 81.24%
    

    其中:F-strings 快速、易学、实用,能有效减少代码量,在实际使用中能使用 F-strings,能看懂其他两种方法即可

    一些细节:
    由于 F-strings 是在运行时进行渲染的,因此可以将任何有效的 Python 表达式放入其中。这可以让你做一些漂亮的事情,如:

    >>> f"{2 * 37}"
    '74'
    >>> f"{'lower'.upper()}"
    'LOWER'
    >>>
    

    为了使字符串出现大括号,您必须使用双大括号,如果使用三个以上的大括号,则可以获得更多大括号:

    >>> f"{{'hello'}}"
    "{'hello'}"
    >>> f"{{'hello'}}"*3  #字符串乘以几表示重复几次
    "{'hello'}{'hello'}{'hello'}"
    >>> f"{{{{{{74}}}}}}"  #第两个大括号输出一个大括号
    '{{{74}}}'
    

    打印一个整数的二进制、八进制、十六进制

    >>> f"十进制:{11},二进制:{11:b},八进制:{11:o},十六进制:{11:x}"
    '十进制:11,二进制:1011,八进制:13,十六进制:b'
    >>> f"十进制:{11},二进制:{11:#b},八进制:{11:#o},十六进制:{11:#x}"
    '十进制:11,二进制:0b1011,八进制:0o13,十六进制:0xb'
    

    对齐操作

    >>> s
    'a'
    >>> f"{s.center(10)}"  # 共10位,字符串s居中显示,默认以空格填充
    '    a     '
    >>> f"{s.center(10,'*')}"  # 共10位,字符串s居中显示,指定以'*'填充
    '****a*****'
    >>> f"{s.ljust(10,'*')}"  # 共10位,字符串s靠左对齐,指定以'*'填充
    'a*********'
    >>> f"{s.rjust(10,'*')}" # 共10位,字符串s靠右对齐,指定以'*'填充
    '*********a'
    >>> num=10
    >>> f"{num:5d}"      # 整数对齐,默认以空格填充,右对齐
    '   10'
    >>> f"{num:f}"   # 以浮点数据显示
    '10.000000'
    >>> f"{num:.3f}"  # 以浮点数据显示3位小数
    '10.000'
    >>> num=1234567890
    >>> f"{num:,}"
    '1,234,567,890'        #智能显示大数字。
    

    ##4.其他对象转字符串
    在实际应用中,将数据(整数,浮点数据)转为字符串的需求是非常频繁的,python3 中有两种方法将其他对象转为字符串:repr(object),str(object)

    >>> repr(49)
    '49'
    >>> str(49)
    '49'
    >>> repr(49.99)
    '49.99'
    >>> str(49.99)
    '49.99'
    >>> repr(-49.99)
    '-49.99'
    >>> str(-49.99)
    '-49.99'
    >>> repr("hello,world")
    "'hello,world'"
    >>> str("hello,world")
    'hello,world'
    

    大多数情况下,这二者没有区别,函数 str() 用于将值转化为适于人阅读的形式,而 repr() 转化为供解释器读取的形式,如果一个对象没有适于人阅读的解释形式的话,str() 会返回与 repr() 等同的值。很多类型,诸如数值或链表、字典这样的结构,针对各函数都有着统一的解读方式。字符串和浮点数,有着独特的解读方式。因此,作为初学者还是使用 str() 函数吧。

    ##5. 其他常见操作
    (1)遍历:
    不需要下标

    >>> s2
    '世界,你好!'
    >>> for s in s2:
    ...     print(s)
    ...
    世
    界
    ,
    你
    好
    !
    

    需要下标:

    >>> for i,s in enumerate(s2): #这是一种比较高效的方法,尽量不要使用 len(s0)。
    ...     print(f"s2[{i}] = {s}")
    ...
    s2[0] = 世
    s2[1] = 界
    s2[2] = ,
    s2[3] = 你
    s2[4] = 好
    s2[5] =

    (2)判断字符是否在字符串中:

    >>> 'a' in 'ab'
    True
    >>> 'c' in 'ab'
    False
    >>> if 'a' in 'ab':
    ...     print("a is ab")
    ...
    a is ab
    

    (3)判断字符串中是否以某个字符串开始或结尾:

    >>> "abcd".startswith("a")
    True
    >>> "abcd".endswith("cd")
    True
    >>>
    

    (4)大小写转换、查找、替换、对齐、编码、分隔、去空等等,不再一一列举,使用时 help(str) 查找帮助即可。

    help(str)
    

    再说说编码

    我们都知道计算机底层只能处理数字,也就是 0 和 1,因此任何文件存储在磁盘上都是 0 和 1 的二进制流。我们看到的字符串都是这些二进制流经过一定的规则转化而来的。比如小写字母 ‘a’,根据美国信息交换标准代码,即按 ASCII 码编码,对应的十进制为整数 97,十六进制为 61 ,二进制为 1100001。保存在磁盘时,它就变成了二进制流 1100001,当从磁盘中读取文件时,1100001 按 ASCII 码解码,会转为 ‘a’ 呈现在我们眼前。过程简写如下:

    字符串------->编码------->二进制流
    二进制流------->解码------->字符串

    计算机在设计时就使用一个字节表示 8 位二进制位,因此我们称这里的二进制流称为字节串,即:

    写文件:字符串------->编码------->字节串(在磁盘)
    读文件:字节串------->解码------->字符串 (在内存)

    注意:字符串是存储在内存中的,二进制流/字节是存储在硬盘或网络数据流中。

    由于ASCII编码只占用一个字节,也就是 8 个二进制位,共有 2 的 8 次方,也就是 256 种可能,完全可以覆盖英文大小写字符及特殊符号。而我们中文汉字远超过256个,使用 ASCII 编码的一个字节来处理中文显然是不够用的,于是中国制定了 GB2312 编码,使用两个字节,可以支持共 2 的 16 次方共 65536 种汉字,可以覆盖常用的中文汉字60370个(当代的《汉语大字典》(2010年版) 收字60,370个)及原有的 ASCII 码。

    比如 “清如许” 这个字符串以 GB2312 编码后的字节串如下所示:

    >>> "清如许".encode('gb2312')  # 以 GB2312 编码(encode)得到
    b'\xc7\xe5\xc8\xe7\xd0\xed'
    >>> list("清如许".encode('gb2312'))  # list将其转为列表/数组,方便十进制查看
    [199, 229, 200, 231, 208, 237]
    >>>
    >>> b'\xc7\xe5\xc8\xe7\xd0\xed'.decode('gb2312') # 字节串以 GB2312 解码(decode)得到字符串
    '清如许'
    

    我们可以看到 "清如许"在 GB2312 编码中共占用了 6 个字节,当然 GB2312 也是包含 ASCII 码的:

    >>> "abc".encode('gb2312')  #编码
    b'abc'
    >>> list("abc".encode('gb2312'))     #编码  ,十进制查看
    [97, 98, 99]
    >>> hex(97)
    '0x61'
    >>> hex(98)
    '0x62'
    >>> hex(99)
    '0x63'
    >>> b'\x61\x62\x63'.decode('gb2312')   #解码
    'abc'
    

    这仅仅是适用中文简体的一个编码,全世界有上百种语言,每个语言都设计自己独特的编码,这样计算机在跨语言进行信息传输时还是无法沟通(出现乱码)的,于是 Unicode 编码应运而生,Unicode 使用 2-4 个字节编码,已经收录 136690 个字符,并还在一直不断扩张中。
    Unicode 起到了 2 个作用:

    • 直接支持全球所有语言,每个国家都可以不用再使用自己之前的旧编码了,用 Unicode 就可以了。(就跟英语是全球统一语言一样)。
    • Unicode 包含了跟全球所有国家编码的映射关系。

    所有的系统、编程语言都默认支持 Unicode 。
    Unicode 编码虽然统一了不同语言的编码不一致的问题,但是新的问题又来了,如果一段纯英文文本,用 Unicode 编码存储会比用 ASCII 编码多占用一倍空间!存储和网络传输时一般数据都会非常多,那么增加一倍空间是无法容忍的,为了解决上述问题,UTF 编码应运而生,UTF 编码将一个 Unicode 字符编码成 1~6 个字节,常用的英文字母被编码成 1 个字节,汉字通常是 3 个字节,只有很生僻的字符才会被编码成 4~6 个字节。注意,从 Unicode 到 UTF 并不是直接的对应,而是通过一些算法和规则来转换的。

    • UTF-8: 使用1、2、3、4个字节表示所有字符;优先使用1个字符、无法满足则使增加一个字节,最多 4 个字节。英文占1个字节、欧洲语系占2个、东亚占3个,其它及特殊字符占4个。
    • UTF-16: 使用2、4个字节表示所有字符;优先使用2个字节,否则使用4个字节表示。
    • UTF-32: 使用4个字节表示所有字符。

    可以看出 utf-8 编码是最节省存储的,也是目前最常用的编码。

    >>> list("清如许".encode('utf8'))
    [230, 184, 133, 229, 166, 130, 232, 174, 184]
    >>> list("abc".encode('utf8'))
    [97, 98, 99]
    >>>
    

    从上面的输出可以看出,中文在 utf8 编码中占用 3 个节点,英文还是占用 1 个字节,因此如果是中文文本以 utf8 编码保存占用的磁盘空间是 gb2312 编码保存的 1.5 倍。

    编码的问题理解了,我们再来看下 Python3 代码的执行过程。

    首先 Python3 解释器找到源代码文件,按源代码文件声明的编码方式解码内存,再转成 unicode 字符串。
    把 unicode 字符串按照语法规则进行解释并执行,其中所有的变量字符都会以 unicode 编码声明。
    读写文件过程如下图所示:
    Python源代码的编码解码过程

    下面在 windows 上做个测试
    编写 bm_test.py 保存为 utf8 编码,如下图所示:
    bm.png

    只要文件头部声明的编码和文件保存的编码一致,输出不会有乱码,推荐大家在编码过程都这样操作。

    执行结果

    但是如果 bm_test.py 不声明 # -- coding: utf-8 --,在默认编码为 gbk 的 windows 上执行仍会正常输出,这是因为到了内存里 python3 解释器把 utf-8 转成了 unicode , 但是这只是 python3, 并不是所有的编程语言在内存里默认编码都是 unicode ,比如 python2 的默认编码是 ascii ,python2 解释器仅以文件头声明的编码去解释你的代码,上述 bm_test.py 在 python2 中会以 utf-8 解码得到 utf-8 字符串,不会自动转为 unicode 字符串,这意味着在默认编码为 gbk 的 windows 上执行结果是乱码。

    因为只有2种情况 ,你的 windows上显示才不会乱
    (1)字符串以 GBK 字符串显示
    (2)字符串是 unicode 编码
    那么在 python2 中,需要你手工转换,在 windows
    修改 bm_test.py 如下所示:
    python2 中的 bm_test.py
    执行结果
    python 2 的执行结果

    可以看出 Python3 容忍你的偷懒,而 Python2 却不行,还需要你手工转换,可以看出,Python3 在编码方面比 Python2 是有明显进步的,建议初学者从 Python3 开始学习。 Python2 将在 2020 年停止更新。如有读者在本文有任何疑问,欢迎微信后台留言,会尽快回复。

    总节:Python3 对字符串的处理是非常灵活的,有许多操作都可以一行代码完成,换成其他语言可能需要多写很多代码,如果了解关于字符串的详细信息,请使用 help(str) 来查询;对于字符编码问题,还是需要深入理解才行,这样在遇到任何编码的问题都可以迎刃而解。

    (完)

    文章首发公众号,如果觉得这篇文章对您有帮助,请关注公众号 somenzz 获取最新信息或推荐给需要的朋友。
     somenzz 的公众号

    展开全文
  • D .POJO类serialVersionUID一致会抛出序列化运行时异常。 多选 9.关于Java接口描述,下列哪些说法符合《阿里巴巴Java开发手册》:BCD A .在接口类中方法和属性使用public修饰符。 B .对于Service类,...
  • 我们公司属于LCD制造厂,属于来订单提需求生产方式。企业内部没有相关管理软件进行管理企业内部事务(包括部门协同、客户管理、进销存、财务、研发等)。存在开发资料可控、物料可控、物料编码混乱等情况...
    前言

    我们公司属于LCD的制造厂,属于来订单提需求生产的方式。企业内部没有相关的管理软件进行管理企业内部事务(包括部门协同、客户管理、进销存、财务、研发等)。存在开发资料不可控、物料不可控、物料编码混乱等情况,所以领导层决定改革管理方式。
    制定目标:
    1、统一物料编码
    2、集中管理所有研发资料

    最高领导人改革的意愿很强,决心很大(按他说法:企业的任何管理流程都可以改,只告诉我这个流程是错的),而且对经费不是很看重,该花的一定不会抠门(他的说法:不要将服务商压得太死[不像一些老板出于各种原因,会压榨对方的底线,期望对方吃的是草抓出的是奶。其实,个人觉得很多时候都会得到小利,以前付出的更多,毕竟是破坏大家合作的基础,令对方有保留]。估计产品利润大吧,呵呵。)

    新来的CIO,决定在公司推行PDM系统,解决研发部门的问题。而我作为小兵参与了服务商筛选的过程。(由软件开发沦为系统管理员-悲!)

    服务商
    CIO挑了3家的PDM服务商。
    其中:
    服A:
    全国知名的IT企业,GZ有办事处,有PDM、PLM、ERP等系统;
    PDM系统是收购棒棒的,据他们自己人员说,在棒棒中市场占有率第一,国内市也很大;
    PDM系统采用Oracle + Java,可以动态建模、自定义表字段名称、二次开发提供接口(一句话:技术不错!模块化)

    服B:
    华南的IT企业,总部在GZ,研发部设在我们的城市,专注PDM、PLM
    系统是自己研发,在华南地区市场占有率第一,客户群主要在珠三角
    PDMt系统采用Delphi,PLM采用.net;PDM系统模块化一般、二次开发只开放数据库

    服C:
    某城市的IT企业,市场也主要在华南地区,有ERP、PDM系统,但策略是PDM作为ERP的一个功能;
    PDM是.net开发
    (由于功能问题,很快给排除了。)



    posted on 2008-09-27 17:46 Zero.Tan 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/nobugs/archive/2008/09/27/1300980.html

    展开全文
  • 据此,认为软件测试只是软件编码一个过程。这是了解软件测试周期错误认识。软件测试是一个系列过程活动,包括软件测试需求分析,测试计划设计,测试用例设计,执行测试。因此,软件测试贯穿于软件项目整个...

    在这里插入图片描述
    误区之一:软件开发完成后进行软件测试
    软件项目要经过以下几个阶段:需求分析,概要设计,详细设计,软件编码,软件测试,软件发布。据此,认为软件测试只是软件编码后的一个过程。这是不了解软件测试周期的错误认识。软件测试是一个系列过程活动,包括软件测试需求分析,测试计划设计,测试用例设计,执行测试。因此,软件测试贯穿于软件项目的整个生命过程。在软件项目的每一个阶段都要进行不同目的和内容的测试活动,以保证各个阶段的正确性。软件测试的对象不仅仅是软件代码,还包括软件需求文档和设计文档。软件开发与软件测试应该是交互进行的,例如,单元编码需要单元测试,模块组合阶段需要集成测试。如果等到软件编码结束后才进行测试,那么,测试的时间将会很短,测试的覆盖面将很不全面,测试的效果也将大打折扣。更严重的是如果此时发现了软件需求阶段或概要设计阶段的错误,如果要修复该类错误,将会耗费大量的时间和人力。

    误区之二:软件发布后如果发现质量问题,那是软件测试人员的错
    这种认识很打击软件测试人员的积极性。软件中的错误可能来自软件项目中的各个过程,软件测试只能确认软件存在错误,不能保证软件没有错误,因为从根本上讲,软件测试不可能发现全部的错误。从软件开发的角度看,软件的高质量不是软件测试人员测出来的,是靠软件生命周期的各个过程中设计出来的。出现软件错误,不能简单地归结为某一个人的责任,有些错误的产生可能不是技术原因,可能来自于混乱的项目管理。应该分析软件项目的各个过程,从过程改进方面寻找产生错误的原因和改进的措施。

    误区之三:软件测试要求不高,随便找个人多都行
    很多人都认为软件测试就是安装和运行程序,点点鼠标,按按键盘的工作。这是由于不了解软件测试的具体技术和方法造成的。随之软件工程学的发展和软件项目管理经验的提高,软件测试已经形成了一个独立的技术学科,演变成一个具有巨大市场需求的行业。软件测试技术不断更新和完善,新工具,新流程,新测试设计方法都在不断更新,需要掌握和学习很多测试知识。所以,具有编程经验的程序员不一定是一名优秀的测试工程师。软件测试包括测试技术和管理两个方面,完全掌握这两个方面的内容,需要很多测试实践经验和不断学习精神。

    误区之四:软件测试是测试人员的事情,与程序员无关
    开发和测试是相辅相成的过程,需要软件测试人员、程序员和系统分析师等保持密切的联系,需要更多的交流和协调,以便提高测试效率。另外,对于单元测试主要应该由程序员完成,必要时测试人员可以帮助设计测试样例。对于测试中发现的软件错误,很多需要程序员通过修改编码才能修复。程序员可以通过有目的的分析软件错误的类型、数量,找出产生错误的位置和原因,以便在今后的编程中避免同样的错误,积累编程经验,提高编程能力。

    误区之五:项目进度吃紧时少做些测试,时间富裕时多做测试
    这是不重视软件测试的表现,也是软件项目过程管理混乱的表现,必然会降低软件测试的质量。一个软件项目的顺利实现需要有合理的项目进度计划,其中包括合理的测试计划,对项目实施过程中的任何问题,都要有风险分析和相应的对策,不要因为开发进度的延期而简单的缩短测试时间、人力和资源。因为缩短测试时间带来的测试不完整,对项目质量的下降引起的潜在风险,往往造成更大的浪费。克服这种现象的最好办法是加强软件过程的计划和控制,包括软件测试计划、测试设计、测试执行、测试度量和测试控制。

    误区之六:软件测试是没有前途的工作,只有程序员才是软件高手
    由于我国软件整体开发能力比较低,软件过程很不规范,很多软件项目的开发都还停留在“作坊式”和“垒鸡窝”阶段。项目的成功往往靠个别全能程序员决定,他们负责总体设计和程序详细设计,认为软件开发就是编写代码,给人的印象往往是程序员是真正的牛人,具有很高的地位和待遇。因此,在这种环境下,软件测试很不受重视,软件测试人员的地位和待遇自然就很低了,甚至软件测试变得可有可无。随着市场对软件质量的不断提高,软件测试将变得越来越重要,相应的软件测试人员的地位和待遇将会逐渐提高。在微软等软件过程比较规范的大公司,软件测试人员的数量和待遇与程序员没有多大差别,优秀测试人员的待遇甚至比程序员还要高。软件测试将会成为一个具有很大发展前景的行业,软件测试大有前途,市场需要更多具有丰富测试技术和管理经验的测试人员,他们同样是软件专家。这两年来国内软件测试人员的需求不断增大,越来越多的IT企业认识到了软件测试的重要性。
    更多技术文章、面试题库与技巧,点击进入>>>
    在这里插入图片描述

    展开全文
  • 用到基本技术是脉冲编码调制技术,主要包括采样、量化、编码3个基本过程。 简化表述一下: 声音主要物理特征是频率和振幅,频率你可以理解为说话语速快慢,而振幅你可以理解为说话语调高低(注意这里声音...
  • 重构方法

    2012-11-08 17:03:00
    重构应该是我们平时写代码过程中必可少一部分,比如给函数起了一个更好名字、把大函数拆分成几个小函数等都属于重构。重构经典书籍包括Martin Flower《重构-改善既有代码设计》、Joshua Kerievsky...
  • 本发明涉及计算机自然语言处理领域,尤其是涉及一种基于word2vec专利文本自动分类方法。...但向量空间模型有着表示向量维数过高,无法区分近义词问题,其采用one-hot编码方式,即将所有待分类文档的不...
  • 的过程应该是根据客户的需求及行业的发展来不断升级和完善的过程。  售后服务是否有保障 有保障的售后服务是选择软件产品的基本条件。 一般来说以公司方式运营的产品在售后服务方面更有保障,双方可以以合同...
  • (1)配置文件无大小限制,仅取决于物理内存大小,支持Unicode与ANSI编码的文件格式; (2)配置文件中每行的长度无限制,但某些操作的参数对长度有一定限制,如创建目录时,作为目录名的参数的长度有限制(这是文件...
  • 问题3-13:在问题3-12中,如果B发送确认帧在传输过程中总是出错,那么A也是一直重复发送DATA0到DATA6这7个数据帧。在这种情况下,连续ARQ协议还正确吗? 问题3-14:能否归纳一下连续ARQ协议都有哪些主要功能和特别...
  • 软件测试练习题

    2021-01-06 22:17:02
    1、在编码阶段对系统执行测试类型主要包括单元测试和集成测试,(B)属于单元测试内容。 A.接口数据测试B.局部数据测试 C.模块间时序测试D.全局数据图试 2、不属于功能测试用例构成元素。 D A.测试数据 B.测试...
  • 33、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种(例如GBK编码类型)编码的字符串? Request encording(“GBK”) 34、j2ee常用的设计模式?说明工厂模式。 Gof23种...
  • 感觉字符、编码的地方都够写一遍文章了。 此部分就是检查 url 的合法性,并对合法的进行转义。提取出 domain name 之后,就该是 DNS 解析相关的了,不过还要提一下,浏览器还会检查 HSTS ...
  • 3、对中国汉字字库中每个汉字,扫描从互联网下载较完整汉字各种编码汇总.xls>拼音字库,找到每个汉字全拼拼音(包括多音,一个汉字最多3种读音),并获取每个读音声母(首字母), 生成汉字声母字典文件。 4、...
  • 软件工程 - 软件设计

    2021-01-05 00:38:05
    第四章 软件设计工程 软件设计包含两类主要活动:...创新设计不属于软件设计,它实际上是属于需求分析和需求规格定义一部分。 模块划分不是越多越好。模块越多,单个模块复杂度会降低,但接口会变多。当模块数目增
  • 重构36计(1-6)

    千次阅读 2012-04-18 09:38:32
    重构应该是我们平时写代码过程中必可少一部分,比如给函数起了一个更好名字、把大函数拆分成几个小函数等都属于重构。重构经典书籍包括Martin Flower《重构-改善既有代码设计》、Joshua Kerievsky...
  • [转]重构36计

    2012-09-17 10:50:00
    重构应该是我们平时写代码过程中必可少一部分,比如给函数起了一个更好名字、把大函数拆分成几个小函数等都属于重构。重构经典书籍包括Martin Flower《重构-改善既有代码设计》、Joshua Kerievsky...
  • 而软件开发过程是一种高密集度脑力劳动,软件开发模式及技术 能适应软件发展需要。致使大量质量低劣软件涌向市场,有花费大量人力、财力, 而在开发过程中就夭折。软件危机主要表现在两个方面: (1) ...
  • (65) 软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指(B) 注:P73 A. 模块间的关系 B. 系统结构部件转换成软件的过程描述 C. 软件层次结构 D. 软件开发过程 (66) 为了避免流程图在描述程序逻辑...
  • 重构36计(1)

    2012-04-16 09:06:00
    重构应该是我们平时写代码过程中必可少一部分,比如给函数起了一个更好名字、把大函数拆分成几个小函数等都属于重构。重构经典书籍包括Martin Flower《重构-改善既有代码设计》、Joshua Kerievsky...
  •  ◇ 软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件说明、维护过程的说明,便于软件维护。  ◇ 软件问题报告:指出软件问题登记情况,如日期、发现人、状态、问题所属模块等,为...
  • 另一类是把调试器当作侦探,监视复杂的系统过程,包括计算机系统的启动(第30章)、睡眠(第31章)和唤醒(第32章)这三大基本过程,以及颇有些神秘的Windows 7打电话“回家”的过程(第35章)。阅读这一篇将有助于...
  • (35) 检查软件产品是否符合需求定义的过程称为______。(A) A. 确认测试 B. 集成测试 C. 验证测试 D. 验收测试 (36) 下列工具中属于需求分析常用工具的是______。(D) A. PAD B. PFD C. N-S D. DFD (37) 下面不属于...
  • 而 MagicEXIF 元数据编辑器拥有自主研发强大的编码器,在改变照片原本编码方式前提下,能够保证全部数据在编辑之后依然完整、可读。 4、软件有可用于 Mac、Linux、iOS 或 Android 版本吗? 非常抱歉,目前 ...
  • Transact-SQL 权威指南--详细书签版

    热门讨论 2013-02-04 13:25:19
    20.5 未记载的过程 442 20.6 小结 447 第21章 杂项 448 21.1 模糊函数 448 21.2 数据清除 457 21.3 迭代表 461 21.4 小结 462 译者序  如果想利用Microsoft SQL Server在Windows NT Server或其他操作系统...
  • 利用计算机算法为计算机解题的过程实际上是在实施某种算法。 (1)算法的基本特征 算法一般具有4个基本特征:可行性、确定性、有穷性、拥有足够的情报。 (2)算法的基本运算和操作 算法的基本运算和操作包括:算术...
  • imageprocess

    2011-12-22 23:53:16
    编码方法有对图像逐点进行加工的方法,也有对图像施加某种变换或基于区域、特征进行编码的方法。脉码调制、微分脉码调制、预测码和各种变换都是常用的编码技术。 5.图像压缩 由数字化得到的一幅图像的数据量十分...

空空如也

空空如也

1 2 3 4 5
收藏数 97
精华内容 38
关键字:

属于编码的过程不包括