51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

楼主: 默默巫
打印 上一主题 下一主题

[活动]迎五一,庆周年,盖高楼(活动结束)

 关闭 [复制链接]

该用户从未签到

1561#
发表于 2009-5-9 12:13:58 | 只看该作者
测试是不完全的(测试不完全)

很显然,由于软件需求的不完整性、软件逻辑路径的组合性、输入数据的大量性及结果多样性等因素,哪怕是一个极其简单的程序,要想穷尽所有逻辑路径,所有输入数据和验证所有结果是非常困难的一件事情。我们举一个简单的例子,比如说求两个整数的最大公约数。其输入信息为两个正整数。但是如果我们将整个正整数域的数字进行一番测试的话,从其数目的无限性我们便可证明是这样的测试在实际生活中是行不通的,即便某一天我们能够穷尽该程序,只怕我们乃至我们的子孙都早已作古了。为此作为软件测试,我们一般采用等价类和边界值分析等措施来进行实际的软件测试,寻找最小用例集合成为我们精简测试复杂性的一条必经之道。
回复 支持 反对

使用道具 举报

该用户从未签到

1562#
发表于 2009-5-9 12:14:53 | 只看该作者
测试具有免疫性(软件缺陷免疫性)

软件缺陷与病毒一样具有可怕的 “ 免疫性 ” ,测试人员对其采用的测试越多,其免疫能力就越强,寻找更多软件缺陷就更加困难。由数学上的概率论我们可以推出这一结论。假设一个 50000 行的程序中有 500 个软件缺陷并且这些软件错误分布时均匀的,则每 100 行可以找到一个软件缺陷。我们假设测试人员用某种方法花在查找软件缺陷的精力为 X 小时 /100 行。照此推算,软件存在 500 个缺陷时,我们查找一个软件缺陷需要 X 小时,当软件只存在 5 个错误时,我们每查找一个软件缺陷需要 100X 小时。实践证明,实际的测试过程比上面的假设更为苛刻,为此我们必须更换不同的测试方式和测试数据。该例子还说明了在软件测试中采用单一的方法不能高效和完全的针对所有软件缺陷,因此软件测试应该尽可能的多采用多种途径进行测试。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    1563#
    发表于 2009-5-9 12:31:20 | 只看该作者
    Backus-Naur Form--BNF范式        
    一种分析语言,用于形式化描述语言的语法

    baseline--基线        
    一个已经被正式评审和批准的规格或产品,它作为进一步开发的一个基础,并且必须通过正式的变更流程来变更。

    Basic Block--基本块        
    一个或多个顺序的可执行语句块,不包含任何分支语句。

    basis test set--基本测试集        
    根据代码逻辑引出来的一个测试用例集合,它保证能获得100%的分支覆盖。

    behaviour--行为        
    对于一个系统的一个函数的输入和预置条件组合以及需要的反应。一个函数的所有规格包含一个或多个行为。

    benchmark--标杆/指标/基准        
    一个标准,根据该标准可以进行度量或比较。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1564#
    发表于 2009-5-9 13:11:15 | 只看该作者
    80-20 原则

    80% 的软件缺陷常常生存在软件 20% 的空间里。这个原则告诉我们,如果你想使软件测试有效地话,记住常常光临其高危多发 “ 地段 ” 。在那里发现软件缺陷的可能性会大的多。这一原则对于软件测试人员提高测试效率及缺陷发现率有着重大的意义。聪明的测试人员会根据这个原则很快找出较多的缺陷而愚蠢的测试人员却仍在漫无目的地到处搜寻。

    80-20 原则的另外一种情况是,我们在系统分析、系统设计、系统实现阶段的复审,测试工作中能够发现和避免 80% 的软件缺陷,此后的系统测试能够帮助我们找出剩余缺陷中的 80% ,最后的 5% 的软件缺陷可能只有在系统交付使用后用户经过大范围、长时间使用后才会曝露出来。因为软件测试只能够保证尽可能多地发现软件缺陷,却无法保证能够发现所有的软件缺陷。

    80-20 原则还能反映到软件测试的自动化方面上来,实践证明 80% 的软件缺陷可以借助人工测试而发现, 20% 的软件缺陷可以借助自动化测试能够得以发现。由于这二者间具有交叉的部分,因此尚有 5% 左右的软件缺陷需要通过其他方式进行发现和修正。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1565#
    发表于 2009-5-9 13:11:34 | 只看该作者
    为效益而测试

    为什么我们要实施软件测试,是为了提高项目的质量效益最终以提高项目的总体效益。为此我们不难得出我们在实施软件测试应该掌握的度。软件测试应该在软件测试成本和软件质量效益两者间找到一个平衡点。这个平衡点就是我们在实施软件测试时应该遵守的度。单方面的追求都必然损害软件测试存在的价值和意义。一般说来,在软件测试中我们应该尽量地保持软件测试简单性,切勿将软件测试过度复杂化,拿物理学家爱因斯坦的话说就是: Keep it simple but not too simple 。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1566#
    发表于 2009-5-9 13:13:34 | 只看该作者
    可用性测试是指在设计过程中被用来改善易用性的一系列方法。我们为用户提供一系列操作场景和任务让他们去完成,这些场景和任务与您的产品或服务密切相关。通过观察,我们来发现过程中出现了什么问题、用户喜欢或不喜欢哪些功能和操作方式,原因是什么。针对问题所在,我们会提出改进的建议。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1567#
    发表于 2009-5-9 13:14:07 | 只看该作者
    数据和数据库完整性测试

    数据与数据库完整测试是指测试关系型数据库完整性原则以及数据合理性测试。
    数据库完整性原即:
    主码完整性:主码不能为空;
    外码完整性:外码必须等于对应的主码或者为空。
    数据合理性指数据在数据库中的类型,长度,索引等是否建的比较合理。
    在项目名称中,数据库和数据库进程应作为一个子系统来进行测试。在测试这些子系统时,不应将测试对象的用户界面用作数据的接口。对于数据库管理系统 (DBMS),还需要进行深入的研究,以确定可以支1持测试的工具和技术。

    比如,有两张表:部门和员工。部门中有部门编号,部门名称,部门经理等字段,主码为部门编号;员工表中有员工编号,员工所属部门编号,员工名称,员工类型等字段,主码为员工编号,外码为员工所属部门编号,对应部门表。如果在某条部门记录中部门编号或员工记录员工编号为空,他就违反主码完整性原则。如果某个员工所属部门的编号为##,但是##在部门编号中确找不到,这就违反外码完整性原则。
    员工类型如下定义:0:职工,1:职员,2:实习生。但数据类型为Int,我们都知道Int占有4个字节,如果定义成char(1).就比原来节约空间。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1568#
    发表于 2009-5-9 13:35:09 | 只看该作者
    灰盒测试,确实是介于二者之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。
     
      灰盒测试结合了白盒测试盒黑盒测试的要素。它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。
     
      灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识盒与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。
     
      灰盒测试涉及输入和输出,但使用关于代码和程序操作等通常在测试人员视野之外的信息设计测试。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1569#
    发表于 2009-5-9 13:48:31 | 只看该作者

    软件测试自动化与手工感想

    软件测试自动化与手工感想
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1570#
    发表于 2009-5-9 13:58:48 | 只看该作者
    缺陷的必然性  

    软件测试中,由于错误的关联性,并不是所有的软件缺陷都能够得以修复。某些软件缺陷虽然能够得以修复但在修复的过程中我们会难免引入新的软件缺陷。很多软件缺陷之间是相互矛盾的,一个矛盾的消失必然会引发另外一个矛盾的产生。比如我们在解决通用性的缺陷后往往会带来执行效率上的缺陷。更何况在缺陷的修复过程中,我们常常还会受时间、成本等方面的限制因此无法有效、完整地修复所有的软件缺陷。因此评估软件缺陷的重要度、影响范围,选择一个折中的方案或是从非软件的因素(比如提升硬件性能)考虑软件缺陷成为我们在面对软件缺陷时一个必须直面的事实。

    评分

    参与人数 1综合技术指数 +15 收起 理由
    默默巫 + 15 楼层尾数为5的参与奖

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1571#
    发表于 2009-5-9 13:59:04 | 只看该作者
    软件测试必须有预期结果  

    没有预期结果的测试是不可理喻的。软件缺陷是经过对比而得出来的。这正如没有标准无法进行度量一样。如果我们事先不知道或是无法肯定预期的结果,我们必然无法了解测试正确性。这很容易然人感觉如盲人摸象一般,不少测试人员常常凭借自身的感觉去评判软件缺陷的发生,其结果往往是把似是而非的东西作为正确的结果来判断,因此常常出现误测的现象。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1572#
    发表于 2009-5-9 14:05:59 | 只看该作者

    软件测试的模型

    软件测试的模型分为H型,W型
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1573#
    发表于 2009-5-9 14:08:03 | 只看该作者

    黑盒测试

    黑盒测试意味着产品内部知识在测试中不起重要作用。大多数测试员都是黑盒测试员。为了做好黑盒测试,就要了解用户,了解他们的期望和需要,了解技术,了解软件运行的配置,了解这个软件与之交互的其他软件,了解软件需要的数据,了解开发过程,等等。黑盒测试的优势在于测试员可能与程序员的思考不同,因此有可能预测出程序员所遗漏的风险。

    黑盒测试强调有关软件的用户和环境知识,这一点并不是所有人都喜欢的。我们甚至把黑盒测试描述为基于无知的测试,因为测试员自始至终并不了解软件内部代码。我们认为这反映出对测试团队角色的根本误解。我们不反对测试员了解产品的工作原理。测试员对产品了解的越多,了解产品的方式越多,越能够更好的测试它。但是,如果测试员主要关注的是源代码,以及能够从源代码导出的测试,则测试员所做的工作也许就是程序员已经做过的,并且测试员关于这些代码的知识少于程序员。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1574#
    发表于 2009-5-9 14:51:13 | 只看该作者
    软件测试的意义 - 事后分析

    软件测试的目的单单是发现缺陷这么简单吗?如果是 “ 是 ” 的话,我敢保证,类似的软件缺陷在下一次新项目的软件测试中还会发生。古语说得好, “ 不知道历史的人必然会重蹈覆辙 ” 。没有对软件测试结果进行认真的分析,我们就无法了解缺陷发生的原因和应对措施,结果是我们不得不耗费的大量的人力和物力来再次查找软件缺陷。很可惜,目前大多测试团队都没有意识到这一点,测试报告中缺乏测试结果分析这一环节。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1575#
    发表于 2009-5-9 14:53:25 | 只看该作者
    链接测试
        链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1576#
    发表于 2009-5-9 15:30:43 | 只看该作者
    软件测试的双V模型的双V指的是验证(verification)和确定(validation)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1577#
    发表于 2009-5-9 15:31:23 | 只看该作者
    质量目标

    通过测试管理工作的加强,力求在测试阶段尽可能多的发现软件错误与缺陷,尽可能少的将问题带给用户,确保软件的质量及其可靠性,提高用户满意程度,使作为质量管理中心的质量管理部真正的把好产品的质量关,尽量在测试阶段发现软件错误和软件缺陷减轻客户服务部的压力,提高金益康公司产品的质量与市场竞争力,营造公司良好的形象。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1578#
    发表于 2009-5-9 15:32:35 | 只看该作者
    测试计划的制定

    测试计划的制定要与项目开发的总体计划相吻合;测试计划中要充分考虑资源计划(人员安排,设备分配、与其它部门的协调配合以及其它不确定的因素)等;测试计划的制定还要考虑测试版本计划,与开发协调,按照版本生成计划(多长时间出一个版本),制定测试计划。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1579#
    发表于 2009-5-9 16:05:49 | 只看该作者
    表单测试
        当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1580#
    发表于 2009-5-9 16:06:03 | 只看该作者
    Cookies测试
        Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。
        如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。

    评分

    参与人数 1综合技术指数 +15 收起 理由
    默默巫 + 15 楼层尾数为5的参与奖

    查看全部评分

    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-18 16:43 , Processed in 0.077368 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表