摘要:
1. 模块接口测试:模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。模块接口测试也是集成测试的重点,这里进行的测试主要是为后面打好基础。测试接口正确与否应该考虑下列因素:-输入的实际参数与形式参数的个数是否相同;-输入的实际参数与形式参数的属性是否匹配;-输入的实际参数与形式参数的量纲是否一致;-调用其他模块时所给实际参数的个数是否与被调模块的形参个数相同;-调用其他模块时所给实际参数的属性是否与被调模块的形参属性匹配;-调用其他模块时所给实际参数的量纲是否与被调模块的形参量纲一致;-调用预定义函数时所用参数的个数、属性和次序是否正确;-是否存在与当前入 阅读全文
摘要:
StreeTesting(压力测试),检查被测系统在恶劣环境下的表现,比如内存不足,CPU高负荷,网速慢,等等。在这种情况下,被测系统往往运行缓慢,能暴露许多在高速运行时不易发生的问题,例如线程不同步。压力测试是测试系统在非正常的、超负荷的条件下的运行情况,用来评估在超越最大负载的情况下系统将如何运行,考验系统在正常的情况下对某种负载强度的承受能力。压力测试就是一种破坏性的测试,用以判断系统的稳定性和可靠性。一般把压力描述为“CPU使用率达到75%以上,内存使用率达到70%以上”。Load Testing(负载测试),检查被测系统处理大量用户访问或事务的能力。负载测试是一种性能测试,指数据在超 阅读全文
摘要:
在进行配置测试时,测试工程师仍然会发现一些普通的缺陷,也就是与配置环境无关的缺陷。因此判断新发现的问题,需要在不同的配置中重新执行发现软件缺陷的步骤,如果软件缺陷不出现了,就可能是配置缺陷;如果在所有的配置中都出现,就可能是普通缺陷。需要注意的是,配置问题可以在一大类配置中出现。例如,拨号程序可能在所有的外置Modem中都存在问题,而内置的Modem不会有任何问题。 阅读全文
摘要:
“杀虫剂怪事”一词由BorisBeizer在其编著的《软件测试技术》第二版中提出。用于描述测试人员对同一测试对象进行的测试次数越多,发现的缺陷就会越来越少的现象。就像老用一种农药,害虫就会有免疫力,农药发挥不了效力。这种现象的根本原因就是测试人员对测试软件过于熟悉,形成思维定势。为了克服这种现象,测试人员需要不断编写新的测试程序或者测试用例,对程序的不同部分进行测试,以发现更多的缺陷。也可以引用新人来测试软件,刚刚进来的新手往往能发现一些意想不到的问题。 阅读全文
摘要:
配置测试的目的是保证软件在其相关的硬件上能够正常运行,而兼容性测试主要是测试软件能否与不同的软件正确协作。配置测试的核心内容就是使用各种硬件来测试软件的运行情况,一般包括:(1)软件在不同的主机上的运行情况,例如Dell和Apple;(2)软件在不同的组件上的运行情况,例如开发的拨号程序要测试在不同厂商生产的Modem上的运行情况;(3)不同的外设;(4)不同的接口;(5)不同的可选项,例如不同的内存大小;兼容性测试的核心内容:(1)测试软件是否能在不同的操作系统平台上兼容;(2)测试软件是否能在同一操作系统平台的不同版本上兼容;(3)软件本身能否向前或者向后兼容;(4)测试软件能否与其它相关 阅读全文
摘要:
软件产品在投产前,通常都会进行用户验收测试。如果用户验收测试没有通过,直接结果就是那不到“Money”,间接影响是损害了公司的形象,而后者的影响往往更严重。根据作者的经验,用户验收测试一定要让用户满意。实际上用户现场测试更趋于是一种演示。在不欺骗用户的前提下,我们向用户展示我们软件的优点,最后让“上帝”满意并欣然掏出“银子”才是我们的目标。因此用户测试要注意下面的事项:(1)用户现场测试不可能测试全部功能,因此要测试核心功能。这需要提前做好准备,这些核心功能一定要预先经过测试,证明没有问题才可以和用户共同进行测试。测试核心模块的目的是建立用户对软件的信心。当然如果这些模块如果问题较多,不应该进 阅读全文
摘要:
软件测试人员的职责是尽可能早的找出软件缺陷,确保得以修复。而质量保证人员(QA)主要职责是创建或者制定标准和方法,提高促进软件开发能力和减少软件缺陷。测试人员的主要工作是测试,质量保证人员日常工作重要内容是检查与评审,测试工作也是测试保证人员的工作对象。软件测试和质量是相辅相成的关系,都是为了提高软件质量而工作。 阅读全文
摘要:
从技术上讲,所有的软件缺陷都是能够修复的,但是没有必要修复所有的软件缺陷。测试人员要做的是能够正确判断什么时候不能追求软件的完美。对于整个项目团队,要做的是对每一个软件缺陷进行取舍,根据风险决定那些缺陷要修复。发生这种现象的主要原因如下:-没有足够的时间资源。在任何一个项目中,通常情况下开发人员和测试人员都是不够用的,而且在项目中没有预算足够的回归测试时间,再加上修改缺陷可能引入新的缺陷,因此在交付期限的强大压力下,必须放弃某些缺陷的修改。-有些缺陷只是特殊情况下出现,这种缺陷处于商业利益考虑,可以在以后升级中进行修复。-不是缺陷的缺陷。我们经常会碰到某些功能方面的问题被当成缺陷来处理,这类问 阅读全文
摘要:
这是一个比较常见的现象。测试工程师在没有找到缺陷前会绞尽脑汁的思考,但是找到一个后,会接二连三的发现很多缺陷,颇有个人成就感。其中的原因主要如下:-代码复用、拷贝代码导致程序员容易犯相同的错误。类的继承导致所有的子类会包含基类的错误,反复拷贝同一代码意味可能也复制了缺陷。-程序员比较劳累是可以导致某些连续编写的功能缺陷较多。程序员加班是一种司空见惯的现象,因此体力不只时容易编写一些缺陷较多的程序。而这些连续潜伏缺陷恰恰时测试工程师大显身手的地方。“缺陷一个连着一个”不是一个客观规律,只是一个常见的现象。如果软件编写的比较好,这种现象就不常见了。测试人员只要严肃认真的测试程序就可以了。 阅读全文
摘要:
我们没有对软件进行完全测试,实际就是选择了风险,因为缺陷极有可能存在没有进行测试的部分。举个例子,程序员为了方便,在调试程序时会弹出一些提示信息框,而这些提示只在某种条件下会弹出,碰巧程序发布前这些代码中的一些没有被注释掉。在测试时测试工程师又没有对其进行测试。如果客户碰到它,这将是代价昂贵的缺陷,因为交付后才被客户发现。因此,我们要尽可能的选择最合适的测试量,把风险降低到最小。 阅读全文
摘要:
什么是软件测试:·软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。·软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是“探测”,在“探测”中发现软件的毛病。·软件测试贯穿于软件定义与开发的整个周期,软件的需求规格说明书,结构设计及程序编码,都属于软件测试的对象。·软件测试包含白盒测试与黑盒测试,白盒测试是针对程序代码进行正确性检验的测试工作,黑盒测试独立于程序代码,从用户的角度,通过一定的测试步骤与测试案例,验证软件 阅读全文
摘要:
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:1、是否有不正确或遗漏的功能?2、在接口上,输入是否能正确的接受?能否输出正确的结果?3、是否有数据结构错误或外部信息(例如数据文件)访问 阅读全文
摘要:
白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题 阅读全文
摘要:
1.Blocker级别——中断缺陷客户端程序无响应,无法执行下一步操作。2.Critical级别――临界缺陷,包括:功能点缺失,客户端爆页。3.Major级别——较严重缺陷,包括:功能点没有满足需求。4.Normal级别――普通缺陷,包括:1.数值计算错误2.JavaScript错误。5.Minor级别—一次要缺陷,包括:1.界面错误与UI需求不符。2.打印内容、格式错误3.程序不健壮,操作未给出明确提示。6.Trivial级别——轻微缺陷,包括:1.辅助说明描述不清楚2.显示格式不规范,数字,日期等格式。3.长时间操作未给用户进度提示4.提示窗口文字未采用行业术语5.可输入区域和只读区域没有 阅读全文
摘要:
在软件消亡之前,如果没有测试的结束点,那么软件测试就永无休止,永远不可能结束。软件测试的结束点,要依据自己公司具体情况来制定,不能一概而论!个人认为测试结束点由以下几个条件决定: 1.基于“测试阶段”的原则: 每个软件的测试一般都要经过单元测试、集成测试、系统测试这几个阶段,我们可以分别对单元测试、集成测试和系统测试制定详细的测试结束点。每个测试阶段符合结束标准后,再进行后面一个阶段的测试。举个例子来说:单元测试,我们要求测试结束点必须满足“核心代码100%经过CodeReview”、“功能覆盖率达到100%”、“代码行覆盖率不低于80%”、“不存在A、B类缺陷”、“所有发现缺陷至少60%.. 阅读全文
摘要:
单元测试的重点是系统的模块,包括子程序的正确性验证等。集成测试的重点是模块间的衔接以及参数的传递等。系统测试的重点是整个系统的运行以及与其他软件的兼容性。单元测试:白盒测试单元内部的数据结构,逻辑控制,异常处理等集成测试:灰盒测试模块间接口以及模块组合后的整体功能系统测试:黑盒测试整个系统对需求的符合度 阅读全文
摘要:
alpha测试是在用户组织模拟软件系统的运行环境下的一种验收测试,由用户或第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试,试图发现并修改错误。Beta测试是用户公司组织各方面的典型终端用户在日常工作中实际使用beta版本,并要求用户报告异常情况,提出批评意见。再次,我们来看一下他们的区别:区别:两者的主要区别是测试的场所不同。Alpha测试是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行的测试。Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。而beta测试的环境是不受开发方控制的,谁也不知道用户如何折磨软件,用户数量 阅读全文
摘要:
集成测试:黑盒或灰盒测试,将相关联的程序模块分别组合进行测试以检查模块间接口、功能、信息传递的正确性。侧重功能测试。功能测试(functiontesting):是在规定的一段时间内运行软件系统的所有功能,以验证这个软件系统有无严重错误。回归测试(regressiontesting):这种测试用于验证对软件修改后有没有引出新的错误,或者说,验证修改后的软件是否仍然满足系统的需求规格说明。可靠性测试(reliabilitytesting):如果系统需求说明书中有对可靠性的要求,则需进行可靠性测试。通常使用平均失效间隔时间MTBF与因故障而停机的时间MTTR来量度系统的可靠性。强度测试(stress 阅读全文