永远的配角.

发布新日志

  • 白盒测试

    2008-01-22 14:07:45

    白盒测试,也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。用白盒测试产生的测试用例能够:

      1)保证一个模块中的所有独立路径至少被使用一次;

      2)对所有逻辑值均需测试true和false;

      3)在上下边界及可操作范围内运行所有循环;

      4)检查内部数据结构以确保其有效性。

      “我们应该更注重于保证程序需求的实现,为什么要花费时间和精力来担心(和测试)逻辑细节?”答案在于软件自身的缺陷:

      ·逻辑错误和不正确假设与一条程序路径被运行的可能性成反比。当我们设计和实现主流之外的功能、条件或控制时,错误往往开始出现在我们工作中。日常处理往往被很好地了解,而“特殊情况”的处理则难于发现。

      ·我们经常相信某逻辑路径不可能被执行,而事实上,它可能在正常的基础上被执行。程序的逻辑流有时是违反直觉的,这意味着我们关于控制流和数据流的一些无意识的假设可能导致设计错误,只有路径测试才能发现这些错误。

      ·笔误是随机的。当一个程序被翻译为程序设计语言源代码时,有可能产生某些笔误,很多将被语法检查机制发现,但是,其他的会在测试开始时才会被发现。笔误出现在主流上和不明显的逻辑路径上的机率是一样的。

      正如Beizer所说的:“错误潜伏在角落里,聚集在边界上”,而白盒测试更可能发现它。
  • 黑盒测试

    2008-01-22 14:06:33

    黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试地,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

    黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身有问题或规格说明的规定有误,用墨盒测试方法是发现不了的。

    黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误。

    功能不正确或遗漏;

    界面错误;

    数据库访问错误;

    性能错误;

    初始化和终止错误等。

    从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有佥的输入,而且还要对那些不合法但可能的输入进行测试。这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。

    等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。

    边界值分析是通过选择等价类边界的测试用例。边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界。

    错误推测设计方法就是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法。

    因果图方法是从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。

    正交试验设计法,就是使用已经造好了的正交表格来安排试验并进行数据分析的一种方法,目的是用最少的测试用例达到最高的测试覆盖率。
  • [转]做软件测试三、四年的给新手的建议

    2008-01-22 10:49:55

    软件测试三,四年了,确实正应了那句“测试不如开发”,只是个人观点,而且我工作过都是外企和大型国有企业,软件测试流程管理都相对很规范化的。

    下面几点给做测试的朋友参考一下:
    1、钱肯定少过开发人员,除非你工作七,八年才能拿年薪10W以上,一般的软件测试工程师很难上6K以上,开发人员工作四,五年后拿7,8K是太多数的。

    2、加班的现象可以说是很普遍,周一到周五随时加班是很正常的,周末肯定有一天要加班。

    3、不管怎么样努力和用什么测试效果的数据说明,领导还是不太重视测试部,领导认为我们测试的没有什么技术含量。但是我们已经在流程上改进很大,使用测试管理工具自动化测试工具来提高测试生产力等等,这些努力的结果好象只有我们的老大才得分比较高,我们下面的小兵就只有吃苦的份。
    4、团队合作精神比较差,都是做技术的人的通病,以为你在一间公司呆久了,就很牛B一样,说话口气难于接受,好象现在公司就是他的一样。这个问题在几间公司里面的测试队伍中得到证实。在工作之余,很少团队一起聚餐或是出外游玩的机会,好象大家就知道上班---吃中午饭--上班--吃晚饭---加班---下班回家---睡觉的简单模式。
    5、人际关系和沟通技能都很重要,这一点不用我多说,大家都知道的。
    6、还有一点要提醒测试人员的是:做测试容易懒惰,因为重复性的工作比较多,然后在公司呆着好好的,什么都不想学和提高了,这样容易使你在软件的测试面比较狭窄了,其实你到其他的公司面试的时候,才发现自己很多不知道,不懂的。
    7、我们做测试几年了,都不想老是停留在执行测试,写测试用例设计测试计划,写测试脚本,评审开发/测试文档上,写缺陷报告,写测试报告,管理和维护测试工具。但是上面的几点工作后,我们软件测试人员还能做些什么?

    怎么样提高软件测试员自身素质培养?

    (1) 首先,应对软件测试感兴趣和对自己有自信,如果具备了这两点,那么在开发过程中不管遇到什么样的困难,我相信你一定能克服。
    (2) 善于怀疑,世界上没有绝对正确的,总有错误的地方,具有叛逆心理,别人认为不可能发生的事,我却认为可能发生。别人认为是对的,我却认为不是对的。
    (3) 打破砂锅问到底的精神,对于只出现过一次的bug,一定找出原因,不解决誓不罢休。
    (4) 保持一个良好的心情,否则可能无法把测试作好。不要把生活中的不愉快的情绪带到工作中来
    (5) 做测试时要细心,不是所有的bug都能很容易的找出,一定要细心才能找出这些bug。
    (6) 灵活一些,聪明一点,多制造一些容易产生bug的例子。
    (7) 在有条件的情况下,多和客户沟通,他们身上有你所需要的。
    (8) 设身处地为客户着想,从他们的角度去测试系统
    (9) 不要让程序员,以“这种情况不可能发生”这句话说服你,相反,你应该去说服他,告诉他在客户心里,并不是这样的。
    (10) 考虑问题要全面,结合客户的需求、业务的流程、和系统的构架,等多方面考虑问题。
    (11) 提出问题不要复杂化,这一点和前面的有点矛盾,如果你是一新手,暂时不要管这一点,因为最终将有你的小组成员讨论解决。
    (12) 追求完美,对于新测试员来说,努力的追求完美,这对你很好,尽管有些事无法做到,但你应该去尝试。
    (13) 幽默感,能和开发小组很好的沟通是关键,试着给你的开发小组找一个“BUG杀手”,或对他们说“我简直不敢相信,你写的程序居然到现在没有找到BUG”。
    (14) 到此是不是对测试很有兴趣呢?不过我要告诉你,测试过程中有酸甜苦辣,其中的滋味只有你知道,也许你会感到枯燥,要学会放松自己,去溜冰或做你喜欢做的事,不过,别放弃,因为你的自信告诉过你“你会是很优秀的测试员”不是吗?

    我们常见软件测试的技巧

    软件测试虽然辛苦,但是掌握了一定的技巧之后将使你事半功倍。
    (1) 边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。
    (2) 非法测试,例如在输入数字的地方输入字母。
    (3) 跟踪测试,跟踪一条数据的流程,保证数据的正确性。
    (4) 在开始测试时应保证数据的正确性,然后在从系统中找出各种BUG。
    (5) 接口测试,程序往往在接口的地方很容易发生错误,要在此模块测试勿掉以轻心。
    (6) 代码重用测试,在开发过程中有些模块功能几乎相同,程序员在重用代码时可能忘记在原有代码上修改或修改不全面,而造成的错误。
    (7) 突发事件测试,服务器上可能发生意外情况的测试。
    (8) 外界环境测试,有些系统在开发时依赖于另外一个系统,当另外一个系统发生错误时, 这个系统所受到的影响的情况。
    (9) 在程序员刚修复Bug之后的地方,再找一找,往往程序员只修复报告出来的缺陷而不去考虑别的功能在修改时可能会重新造成错误。
    (10) 认真做好测试记录在做完一天的测试记录之后,第二天再根据第一天的测试记录重复测试你会发现有未修正的错误。
    (11) 文字测试,如果在系统中有用词不当的地方,我想这是不应该的。
    (12) 系统兼容测试,例如有些程序在IE6能运行正常,到IE5下不能运行。有些程序在WIN2000下能运行,而到WIN98却不能运行。像一些很特别的用户去使用系统,你很有可能发现BUG。
    (13) 用户的易用性测试,往往用户的需求是不断的变化的,而其中的一部份变化的原因,是有用户操作上不方便引起的。
    软件测试是软件开发中的重中之重,没有一点可以马虎的,在项目管理过程,我强调的时是每个过程的每一个环节都要进行测试,保证系统在每个阶段可以控制。因为软件测试中考虑的问题基本上是项目管理中考虑的问题。
    我认为在项目管理中考虑的一些问题应该是在软件测试时有些体现,体现的内容是软件测试的一些侧重点,具体说,软件测试是事务性的,而项目管理是策略性,一些策略性的东西必须在一些事务性的事务上来实现
    针对这个经验,看过的朋友都会产生相同或者不同的看法,不妨与大家共享一下!
  • HTTP错误大全

    2008-01-21 17:32:31


    HTTP 400 -
    请求无效
    HTTP 401.1 -
    未授权:登录失败

    HTTP 401.2 -
    未授权:服务器配置问题导致登录失败

    HTTP 401.3 - ACL
    禁止访问资源

    HTTP 401.4 -
    未授权:授权被筛选器拒绝

    HTTP 401.5 -
    未授权:ISAPI CGI 授权失败


    HTTP 403 -
    禁止访问

    HTTP 403 -
    Internet 服务管理器 的访问仅限于
    Localhost
    HTTP 403.1
    禁止访问:禁止可执行访问

    HTTP 403.2 -
    禁止访问:禁止读访问

    HTTP 403.3 -
    禁止访问:禁止写访问

    HTTP 403.4 -
    禁止访问:要求
    SSL
    HTTP 403.5 -
    禁止访问:要求
    SSL 128
    HTTP 403.6 -
    禁止访问:IP 地址被拒绝

    HTTP 403.7 -
    禁止访问:要求客户证书

    HTTP 403.8 -
    禁止访问:禁止站点访问

    HTTP 403.9 -
    禁止访问:连接的用户过多

    HTTP 403.10 -
    禁止访问:配置无效

    HTTP 403.11 -
    禁止访问:密码更改

    HTTP 403.12 -
    禁止访问:映射器拒绝访问

    HTTP 403.13 -
    禁止访问:客户证书已被吊销

    HTTP 403.15 -
    禁止访问:客户访问许可过多

    HTTP 403.16 -
    禁止访问:客户证书不可信或者无效

    HTTP 403.17 -
    禁止访问:客户证书已经到期或者尚未生效
    HTTP 404.1 -

    无法找到 Web 站点

    HTTP 404-
    无法找到文件

    HTTP 405 -
    资源被禁止

    HTTP 406 -
    无法接受

    HTTP 407 -
    要求代理身份验证

    HTTP 410 -
    永远不可用

    HTTP 412 -
    先决条件失败

    HTTP 414 -
    请求 - URI 太长

    HTTP 500 -
    内部服务器错误

    HTTP 500.100 -
    内部服务器错误 - ASP 错误

    HTTP 500-11
    服务器关闭

    HTTP 500-12
    应用程序重新启动

    HTTP 500-13 -
    服务器太忙

    HTTP 500-14 -
    应用程序无效

    HTTP 500-15 -
    不允许请求
    global.asa
    Error 501 -
    未实现

    HTTP 502 -
    网关错误

    用户试图通过 HTTP 或文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS 返回一个表示该请求的状态的数字代码。该状态代码记录在
      
    IIS
    日志
    中,同时也可能在 Web 浏览器或 FTP 客户端显示。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。
    日志文件的位置
    在默认状态下,IIS 把它的日志文件放在 %WINDIRSystem32Logfiles 文件夹中。每个万维网 (WWW) 站点和 FTP 站点在该目录下都有一个单独的目录。在默认状态下,每天都会在
    这些目录下创建日志文件,并用日期给日志文件命名(例如,exYYMMDD.log)。

    HTTP
    1xx -
    信息提示


    这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。 • 100 - 继续。
    • 101 -
    切换协议。

    2xx -
    成功


    这类状态代码表明服务器成功地接受了客户端请求。 • 200 - 确定。客户端请求已成功。
    • 201 -
    已创建。

    • 202 -
    已接受。

    • 203 -
    非权威性信息。

    • 204 -
    无内容。

    • 205 -
    重置内容。

    • 206 -
    部分内容。

    3xx -
    重定向


    客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。 • 302 - 对象已移动。
    • 304 -
    未修改。

    • 307 -
    临时重定向。

    4xx -
    客户端错误


    发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。 • 400 - 错误的请求。
    • 401 -
    访问被拒绝。IIS 定义了许多不同的 401 错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在 IIS 日志中显示: • 401.1 - 登录失败。

    • 401.2 -
    服务器配置导致登录失败。

    • 401.3 -
    由于 ACL 对资源的限制而未获得授权。

    • 401.4 -
    筛选器授权失败。

    • 401.5 - ISAPI/CGI
    应用程序授权失败。

    • 401.7 –
    访问被 Web 服务器上的 URL 授权策略拒绝。这个错误代码为 IIS 6.0 所专用。


    • 403 -
    禁止访问:IIS 定义了许多不同的 403 错误,它们指明更为具体的错误原因: • 403.1 - 执行访问被禁止。

    • 403.2 -
    读访问被禁止。

    • 403.3 -
    写访问被禁止。

    • 403.4 -
    要求 SSL

    • 403.5 -
    要求 SSL 128

    • 403.6 - IP
    地址被拒绝。

    • 403.7 -
    要求客户端证书。

    • 403.8 -
    站点访问被拒绝。

    • 403.9 -
    用户数过多。

    • 403.10 -
    配置无效。

    • 403.11 -
    密码更改。

    • 403.12 -
    拒绝访问映射表。

    • 403.13 -
    客户端证书被吊销。

    • 403.14 -
    拒绝目录列表。

    • 403.15 -
    超出客户端访问许可。

    • 403.16 -
    客户端证书不受信任或无效。

    • 403.17 -
    客户端证书已过期或尚未生效。

    • 403.18 -
    在当前的应用程序池中不能执行所请求的 URL。这个错误代码为 IIS 6.0 所专用。

    • 403.19 -
    不能为这个应用程序池中的客户端执行 CGI。这个错误代码为 IIS 6.0 所专用。

    • 403.20 - Passport
    登录失败。这个错误代码为 IIS 6.0 所专用。


    • 404 -
    未找到。 • 404.0 -(无)没有找到文件或目录。

    • 404.1 -
    无法在所请求的端口上访问 Web 站点。

    • 404.2 - Web
    服务扩展锁定策略阻止本请求。

    • 404.3 - MIME
    映射策略阻止本请求。


    • 405 -
    用来访问本页面的 HTTP 谓词不被允许(方法不被允许)

    • 406 -
    客户端浏览器不接受所请求页面的 MIME 类型。

    • 407 -
    要求进行代理身份验证。

    • 412 -
    前提条件失败。

    • 413 –
    请求实体太大。

    • 414 -
    请求 URI 太长。

    • 415 –
    不支持的媒体类型。

    • 416 –
    所请求的范围无法满足。

    • 417 –
    执行失败。

    • 423 –
    锁定的错误。

    5xx -
    服务器错误


    服务器由于遇到错误而不能完成该请求。 • 500 - 内部服务器错误。 • 500.12 - 应用程序正忙于在 Web 服务器上重新启动。
    • 500.13 - Web
    服务器太忙。

    • 500.15 -
    不允许直接请求 Global.asa

    • 500.16 – UNC
    授权凭据不正确。这个错误代码为 IIS 6.0 所专用。

    • 500.18 – URL
    授权存储不能打开。这个错误代码为 IIS 6.0 所专用。

    • 500.100 -
    内部 ASP 错误。


    • 501 -
    页眉值指定了未实现的配置。

    • 502 - Web
    服务器用作网关或代理服务器时收到了无效响应。 • 502.1 - CGI 应用程序超时。

    • 502.2 - CGI
    应用程序出错。
    application.

    • 503 -
    服务不可用。这个错误代码为 IIS 6.0 所专用。

    • 504 -
    网关超时。

    • 505 - HTTP
    版本不受支持。


    常见的 HTTP 状态代码及其原因

    • 200 -
    成功。 此状态代码表示 IIS 已成功处理请求。
    • 304 -
    未修改。 客户端请求的文档已在其缓存中,文档自缓存以来尚未被修改过。客户端使用文档的缓存副本,而不从服务器下载文档。

    • 401.1 -
    登录失败。 登录尝试不成功,可能因为用户名或密码无效。

    • 401.3 -
    由于 ACL 对资源的限制而未获得授权。 这表示存在 NTFS 权限问题。即使您对试图访问的文件具备相应的权限,也可能发生此错误。例如,如果 IUSR 帐户无权访问
      
    C:WinntSystem32Inetsrv
    目录,您会看到这个错误。 有关如何解决此问题的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:

    187506 INFO: IIS 4.0
    的基础 NTFS 权限

    • 403.1 -
    执行访问被禁止。 下面是导致此错误信息的两个常见原因:您没有足够的执行许可。例如,如果试图访问的 ASP 页所在的目录权限设为,或者,试图执行的
      
    CGI
    脚本所在的目录权限为只允许脚本,将出现此错误信息。若要修改执行权限,请在 Microsoft 管理控制台 (MMC) 中右击目录,然后依次单击属性和目录选项卡,确保为

    试图访问的内容设置适当的执行权限。

    您没有将试图执行的文件类型的脚本映射设置为识别所使用的谓词(例如,GET POST)。若要验证这一点,请在 MMC 中右击目录,依次单击属性、目录选项卡和配置,然后

    验证相应文件类型的脚本映射是否设置为允许所使用的谓词。


    • 403.2 -
    读访问被禁止。验证是否已将 IIS 设置为允许对目录进行读访问。另外,如果您正在使用默认文件,请验证该文件是否存在。 有关如何解决此问题的其他信息,请单

    击下面的文章编号,查看 Microsoft 知识库中相应的文章:

    247677
    错误信息:403.2 Forbidden:Read Access Forbidden403.2 禁止访问:读访问被禁止)

    • 403.3 -
    写访问被禁止。 验证 IIS 查看(414) 评论(0) 收藏 分享 管理

数据统计

  • 访问量: 2423
  • 日志数: 4
  • 建立时间: 2007-08-21
  • 更新时间: 2008-01-22

RSS订阅

Open Toolbar