软件测试-教案课件.ppt

上传人(卖家):三亚风情 文档编号:3219290 上传时间:2022-08-07 格式:PPT 页数:58 大小:2.69MB
下载 相关 举报
软件测试-教案课件.ppt_第1页
第1页 / 共58页
软件测试-教案课件.ppt_第2页
第2页 / 共58页
软件测试-教案课件.ppt_第3页
第3页 / 共58页
软件测试-教案课件.ppt_第4页
第4页 / 共58页
软件测试-教案课件.ppt_第5页
第5页 / 共58页
点击查看更多>>
资源描述

1、HLJU Software Testing1第六章第六章 软件测试自动化软件测试自动化HLJU Software Testing2 本章要点 1.1.自动化测试应考虑的各种因素;自动化测试应考虑的各种因素;2.2.自动化测试和手工测试中涉及的问题以及二自动化测试和手工测试中涉及的问题以及二者的者的 优缺点;优缺点;3.3.应用自动化测试工具的目的;应用自动化测试工具的目的;4.4.自动化测试工具的分类和选择方法;自动化测试工具的分类和选择方法;5.5.自动化测试过程实例及自动化测试经验。自动化测试过程实例及自动化测试经验。HLJU Software Testing3 本章目标 1.了解自动化测

2、试应考虑的各种因素以及如了解自动化测试应考虑的各种因素以及如何衡量自动化测试成本。何衡量自动化测试成本。2.掌握自动化测试和手工测试的优缺点,知掌握自动化测试和手工测试的优缺点,知道如何正确选择两种软件测试策略。道如何正确选择两种软件测试策略。3.了解测试工具的分类、使用目的及其选择,了解测试工具的分类、使用目的及其选择,了解几种常用的测试工具。了解几种常用的测试工具。4.了解自动化测试的过程。了解自动化测试的过程。HLJU Software Testing41.进行自动化测试的适当时机进行自动化测试的适当时机 一律用自动化测试就好?要考虑经济性、有效性,适当的进行自动化测试。当对产品的一些特

3、征来设计一系列测试时,对每一个测试都需要决定是否对其进行自动化测试。如何做出一个合理的决定,假设如下:1拥有稳定的自动化测试技术支持。2两种极端的可能性:一种就是无需人工干预的完全自动化测试,另一种就是只运行一次就废弃的人工测试。3自动化测试和手工测试都可行(但事实并非如此)。4测试是通过外部接口来完成的(黑盒测试)。5不要求必须进行自动化测试。6测试已经设计好之后,再决定是否进行自动化测试。7有一定的时间用于完成测试,并且在这段时间里完全有可能把测试做好。HLJU Software Testing5v 在决定是否要进行自动化测试之前,通常需要考在决定是否要进行自动化测试之前,通常需要考虑如下

4、几个主要问题:虑如下几个主要问题:1.同手工测试相比,只运行一次的自动化测试要多同手工测试相比,只运行一次的自动化测试要多付出付出多少代价多少代价?2.自动化测试的生命周期是有限的。那么,这类测自动化测试的生命周期是有限的。那么,这类测试是否迟早要试是否迟早要终止终止?什么事件将会导致测试中止?什么事件将会导致测试中止?3.在整个生命周期内,这次测试能在整个生命周期内,这次测试能捕获到新捕获到新bug的的可能性会有多大?这些难以预计的收益能够使自可能性会有多大?这些难以预计的收益能够使自动化测试的动化测试的成本成本得到补偿吗?得到补偿吗?1.进行自动化测试的适当时机进行自动化测试的适当时机经济

5、学角度成本HLJU Software Testing61.1.创建一次自动化的测试所花费的时间要比一次手工测试创建一次自动化的测试所花费的时间要比一次手工测试所花费的时间多得多。所花费的时间多得多。2.2.测试成本因产品的架构以及自动化测试的方式不同而异。测试成本因产品的架构以及自动化测试的方式不同而异。介绍如下几种介绍如下几种(费用由高至低费用由高至低):通过图形用户界面来测试产品;通过图形用户界面来测试产品;使用使用GUIGUI捕捉捕捉/回放工具来跟踪测试与产品之间的交回放工具来跟踪测试与产品之间的交互,同时建立脚本;互,同时建立脚本;测试的是一个编译器;测试的是一个编译器;3.3.测试成

6、本还要考虑测试成本还要考虑测试时间测试时间、BugBug的多少等问题。的多少等问题。2.自动化测试的成本自动化测试的成本HLJU Software Testing7 测试的生命周期如下图7-1所示:3.自动化测试的生命周期自动化测试的生命周期HLJU Software Testing8回归测试?回归测试?是指是指修改了旧代码修改了旧代码后,重新进行测试以确认修改没有后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段自动回归测试将大幅降低系统测试、维护升级等阶段的成本。的成本。一、对被修改的函数重新

7、测试。一、对被修改的函数重新测试。如果函数的设计功能没有变化,直接运行函数测试就可以了。如果函数的设计功能没有变化,直接运行函数测试就可以了。如果修改了设计功能,则要根据增减的功能点,增加或删除测如果修改了设计功能,则要根据增减的功能点,增加或删除测试用例。另外,还要完成白盒覆盖。试用例。另外,还要完成白盒覆盖。二、函数代码的修改二、函数代码的修改可能导致调用该函数的代码产生错误,所以需要测试其他代码。可能导致调用该函数的代码产生错误,所以需要测试其他代码。如果函数是私有函数并且未涉及到全局变量,应运行类测试,如果函数是私有函数并且未涉及到全局变量,应运行类测试,否则应运行工程测试。在函数列表

8、中选择类测试或工程测试,否则应运行工程测试。在函数列表中选择类测试或工程测试,编译运行测试工程,即可执行对其他代码的回归测试。编译运行测试工程,即可执行对其他代码的回归测试。回归测试包括几部分?回归测试包括几部分?两部分两部分函数本身的测试、其他代码的测试。函数本身的测试、其他代码的测试。HLJU Software Testing93.自动化测试的生命周期自动化测试的生命周期在决定是否进行自动化测试之前,必在决定是否进行自动化测试之前,必须首先估计一下,产品的须首先估计一下,产品的代码变动在代码变动在什么范围内什么范围内,测试仍能存活。如果要,测试仍能存活。如果要求代码不能有太多变动,要做的测

9、试求代码不能有太多变动,要做的测试最好是非常善于捕获最好是非常善于捕获bug的测试;而的测试;而且且要求估计生命周期要求估计生命周期。HLJU Software Testing103.自动化测试的生命周期自动化测试的生命周期 一、中介代码的变动对测试周期的影响v中介代码是使测试中止的一个主要原因。中介代码是使测试中止的一个主要原因。v例如,用户界面以前要求输入电话号码,现在变为提供一个可视的电话键盘,使用鼠标点击数字来模拟使用真实的电话。虽然通过两种界面向被测试的代码传递的都是相同的数据,但是因为没有了提供输入电话号码的地方,自动化测试可能就会中止。中介代码(intervening code)

10、介于需要被测试的代码和测试之间的代码称作中介代码介于需要被测试的代码和测试之间的代码称作中介代码HLJU Software Testing11 为了使测试免受中介代码变化的影响,应该从以下几个为了使测试免受中介代码变化的影响,应该从以下几个方面考虑:方面考虑:1 1、评估一下中介代码的改变会不会影响测试。如果绝不会、评估一下中介代码的改变会不会影响测试。如果绝不会影响到测试,使用自动测试就能节省大量的时间。影响到测试,使用自动测试就能节省大量的时间。2 2、如果中介代码的变化会影响到测试,就必须考虑一下使、如果中介代码的变化会影响到测试,就必须考虑一下使用测试库函数能够使测试不受影响的可能性会

11、有多大。用测试库函数能够使测试不受影响的可能性会有多大。3 3、假如没有测试函数库、假如没有测试函数库如果是在捕捉如果是在捕捉/回放的模式下回放的模式下使用使用GUIGUI测试自动化工具测试自动化工具不要指望测试会不受影响。不要指望测试会不受影响。二、被测试代码的改变对测试周期的影响3.自动化测试的生命周期自动化测试的生命周期需要判断一下被测试的代码的稳定性。需要判断一下被测试的代码的稳定性。首先,需要重点考虑代码的行为。首先,需要重点考虑代码的行为。其次,考虑功能的增加会不会影响测试。其次,考虑功能的增加会不会影响测试。HLJU Software Testing12 进行自动化测试要解决的问

12、题就是:自动化测试的价值必须要超过所有因此而放弃的手工测试的价值。4.自动化测试的价值自动化测试的价值考虑哪些问题:1.测试代码的结构要清晰。测试代码的结构要清晰。2.测试通常是用来测试功能代码。支撑代码对于测试者来测试通常是用来测试功能代码。支撑代码对于测试者来说通常是不可见的。说通常是不可见的。3.但功能代码的改变通常会改变代码的行为。因此,极有但功能代码的改变通常会改变代码的行为。因此,极有可能会使测试中止,而不是报告可能会使测试中止,而不是报告bug。4.测试的价值主要在于支撑代码改变以后仍能捕获测试的价值主要在于支撑代码改变以后仍能捕获bug的的能力。能力。5.如果我们一点也不了解支

13、撑代码,无法知道测试是否能如果我们一点也不了解支撑代码,无法知道测试是否能捕获捕获bug?如何估计测试是否有助于我们捕获如何估计测试是否有助于我们捕获bug?6.可以认为与被测试的代码进行交互的其他代码大多数是可以认为与被测试的代码进行交互的其他代码大多数是支撑代码,支撑代码的变化也会产生自动测试所能捕获的支撑代码,支撑代码的变化也会产生自动测试所能捕获的bug。HLJU Software Testing13注意:注意:高价值的测试高价值的测试不可能是特征驱动测试而是任务驱动测试。不可能是特征驱动测试而是任务驱动测试。4.自动化测试的价值自动化测试的价值HLJU Software Testin

14、g14 一、分析被测试代码的结构一、分析被测试代码的结构 例子:被测试的是一段处理从银行账户里提款的代码。例子:被测试的是一段处理从银行账户里提款的代码。把被测试的代码分成两部分:把被测试的代码分成两部分:功能代码(功能代码(feature code),它直接实现被测试代码所完成),它直接实现被测试代码所完成的功能。测试会专门对其进行调用。功能代码(的功能。测试会专门对其进行调用。功能代码(support code)可以完成用户所进行的操作(通过使用用户界面)可以完成用户所进行的操作(通过使用用户界面的关联代码)。的关联代码)。支撑代码支撑代码(support code),它起到支持功能代码,

15、它起到支持功能代码 (support code)的作用。测试代码会对其进行调用,但并)的作用。测试代码会对其进行调用,但并没有针对这些代码的特殊测试。没有针对这些代码的特殊测试。HLJU Software Testing15图1 功能代码和支撑代码示意图 在这里,支撑代码位于水平线以下。功能代码位于水平线以上,共有五种不同的功能,我们只针对其中的两个功能进行测试。HLJU Software Testing16 二、被测试代码的变化所带来的影响二、被测试代码的变化所带来的影响 主要考虑这样一些问题:主要考虑这样一些问题:1 1就给定的结构而言,代码的变化将会产生什么样的影响?就给定的结构而言,代

16、码的变化将会产生什么样的影响?2 2什么样的变化具有测试价值?什么样的变化具有测试价值?假设一些功能代码发生了变化,如图假设一些功能代码发生了变化,如图2 2中灰色图形所示:中灰色图形所示:这种变化极有可能会导致调用功能代码的测试中止。因这种变化极有可能会导致调用功能代码的测试中止。因此,如果希望使用自动化测试的方法在发生变化的功能代此,如果希望使用自动化测试的方法在发生变化的功能代码(码(feature codefeature code)中找到)中找到bugbug,就必须终止原有测试。,就必须终止原有测试。如果测试的成本很高,这样做是很不经济的。如果测试的成本很高,这样做是很不经济的。HLJ

17、U Software Testing17 为了使原有的测试行为仍然能够保留,通常采用的做法是为了使原有的测试行为仍然能够保留,通常采用的做法是更改支撑代码(更改支撑代码(support codesupport code)以便能够支持其他功能)以便能够支持其他功能代码的变动。请看图代码的变动。请看图3 3:图2图3HLJU Software Testing18 三、支撑代码的变化对测试的影响三、支撑代码的变化对测试的影响 主要从以下两方面来考虑这个问题:主要从以下两方面来考虑这个问题:代码的变化有多少?这些变化会引入多少代码的变化有多少?这些变化会引入多少bug?bug?例子 假设我正在测试一个

18、产品,测试已经完成一半。产品已经实现了主要的功能,但是还需要增加一些辅助功能。现在我要对这些主要的功能进行测试。测试过程中,在同如下人员进行交流的过程中提出的问题如下:HLJU Software Testing19 程序员:这些辅助的功能是否有可能需要改变产品的支撑代码?程这些辅助的功能是否有可能需要改变产品的支撑代码?程序员有可能精心设计了支撑代码,并且考虑坚持使用可视序员有可能精心设计了支撑代码,并且考虑坚持使用可视化的用户界面来完善各种功能。如果是这样的话,那么自化的用户界面来完善各种功能。如果是这样的话,那么自动化测试的价值就不大。动化测试的价值就不大。但是因为要急于完成测试,程序员也

19、可能知道程序的支撑但是因为要急于完成测试,程序员也可能知道程序的支撑代码的结构不会一成不变的。由于大部分工作将会重复进代码的结构不会一成不变的。由于大部分工作将会重复进行,所以可能会特别需要进行自动化测试。或者程序员也行,所以可能会特别需要进行自动化测试。或者程序员也不知道支撑代码是否要改变。不知道支撑代码是否要改变。项目经理:在新版本中,新增的功能是一个十分重要的部分吗?如果在新版本中,新增的功能是一个十分重要的部分吗?如果是这样的话,由于市场竞争激烈,图形用户界面有可能改是这样的话,由于市场竞争激烈,图形用户界面有可能改变吗?以前,用户界面改动有多大?变吗?以前,用户界面改动有多大?HLJ

20、U Software Testing20 为什么会希望今后的改动越少越好?这些变化是为了增加为什么会希望今后的改动越少越好?这些变化是为了增加功能,还是用来代替现有的功能?我们需要切实的估计一功能,还是用来代替现有的功能?我们需要切实的估计一下变动的可能性,因为任何变化都可能会提高自动化测试下变动的可能性,因为任何变化都可能会提高自动化测试的成本,缩短测试的生命周期。的成本,缩短测试的生命周期。了解并熟悉测试工具的人员:如何应对产品的变化?什么样的变化会使测试中止?对于如何应对产品的变化?什么样的变化会使测试中止?对于新增加功能的测试,遇到这些情况的几率会有多大?新增加功能的测试,遇到这些情况

21、的几率会有多大?v一次自动化测试所花费的成本相当于几次手工测试,并且要特别重视测试价值的大小和生命周期的长短,这样做可能不对。但这都是为了避免犯下灾难性的错误,如果自动化测试的成本很高而生命周期很短,我们最好使用手工测试。HLJU Software Testing21但是这并不意味着不能使用自动化测试,而是要判断与衡量。在测试中,要不断跟踪bug报告并加以修改,保留所有和测试相关的文档。从这些资料当中,我们常常能够发现更为重要的信息。如:什么样的因素与产生的bug无关?哪里存在bug?代码行为的稳定性如何?v经过一段时间,要进行自动化测试还是手工测试的想法就会逐渐成熟,可能会形成一个更大的测试

22、套。HLJU Software Testing22 5.另外一些需要考虑的问题 1.1.手工测试有时候会发现一些自动化测试所不能发现的问题。手工测试有时候会发现一些自动化测试所不能发现的问题。2.2.尽管人善于发现问题,但很容易疲劳。并且不能对结果做出尽管人善于发现问题,但很容易疲劳。并且不能对结果做出精确的分析。精确的分析。3.3.由于我们不能保证每次手工输入的数据完全相同。因此,重由于我们不能保证每次手工输入的数据完全相同。因此,重复的手工测试多少会有些不同,那么就有可能捕获支撑代复的手工测试多少会有些不同,那么就有可能捕获支撑代码中的码中的bugbug。4.4.要求对配置测试进行更多的自

23、动化测试。要求对配置测试进行更多的自动化测试。5.5.如果在进行第一次测试的时候就捕获了如果在进行第一次测试的时候就捕获了bugbug。表明这部分程。表明这部分程序代码将来有可能发生变化,要进行更多的自动化测试序代码将来有可能发生变化,要进行更多的自动化测试 。HLJU Software Testing23 6.6.如果自动化测试的技术支持足够强大,开发人员很容易就能如果自动化测试的技术支持足够强大,开发人员很容易就能做回归测试,自动化测试也需要比手工测试快得多,但是做回归测试,自动化测试也需要比手工测试快得多,但是并不是所有的公司都具有这样的自动化测试技术支持水平。并不是所有的公司都具有这样

24、的自动化测试技术支持水平。7.7.使用手工测试的时候捕获了使用手工测试的时候捕获了bug,bug,但又不能再现但又不能再现bugbug时会使时会使人很沮丧。人很沮丧。8.8.程序更改之后,测试人员应该对其进行检查。程序更改之后,测试人员应该对其进行检查。9.9.因为进行自动化测试的创建要花费一些时间,因此把第一个因为进行自动化测试的创建要花费一些时间,因此把第一个bugbug提交给程序员所花费的时间要比手工测试花费的时间长。提交给程序员所花费的时间要比手工测试花费的时间长。10.10.把测试设计的有利于进行自动化测试,但不善于捕获把测试设计的有利于进行自动化测试,但不善于捕获bugbug。11

25、.11.如果产品的行为改变了,自动化测试就有可能会报告一些不如果产品的行为改变了,自动化测试就有可能会报告一些不真实的真实的bugbug。HLJU Software Testing24 12.12.如果自动化测试创建的十分好,能够有序的运行,并且如果自动化测试创建的十分好,能够有序的运行,并且可以改变测试运行的顺序。可以改变测试运行的顺序。13.13.我们可以在产品需要测试之前先设计测试。我们可以在产品需要测试之前先设计测试。14.14.也许自动化测试的价值直到下一个新版本发布之后才能也许自动化测试的价值直到下一个新版本发布之后才能体现出来。体现出来。HLJU Software Testing

26、25与手工测试比较v 自动化测试并不能完全取代手工测试,二者各有自动化测试并不能完全取代手工测试,二者各有优缺点。优缺点。测试步骤测试步骤手工手工测试测试自动化自动化测试测试通过使用工具改善测试通过使用工具改善测试的百分比的百分比测试计划的开发测试计划的开发32324040-25%-25%测试用例的开发测试用例的开发26226211711755%55%测试执行测试执行466466232395%95%测试结果分析测试结果分析117117585850%50%错误状态错误状态/更正检测更正检测117117232380%80%产生报告产生报告9696161683%83%时间总和时间总和10901090

27、27727775%75%这个测试案例中包括这个测试案例中包括17501750个测试用例和个测试用例和700700多个错误多个错误。HLJU Software Testing26 短测试周期中手工测试面临的挑战 v 迭代式的开发过程已逐渐取代传统的瀑布式开发,迭代式的开发过程已逐渐取代传统的瀑布式开发,成为了目前最流行的软件开发过程。在迭代开发中强成为了目前最流行的软件开发过程。在迭代开发中强调在调在较短的时间间隔中较短的时间间隔中产生产生多个可执行、可测试的软多个可执行、可测试的软件版本件版本,这就意味着测试人员也必须为每次迭代产生,这就意味着测试人员也必须为每次迭代产生的软件系统进行测试。的

28、软件系统进行测试。v 随着软件开发过程的进展,测试工作越来越繁重,随着软件开发过程的进展,测试工作越来越繁重,如果使用手工测试的方法,将很难保证测试工作的进如果使用手工测试的方法,将很难保证测试工作的进度和质量。度和质量。HLJU Software Testing27手工测试的问题v手工测试的方法是根本不可能符合软件快速开发手工测试的方法是根本不可能符合软件快速开发的要求的。大公司用自动化测试因为它适合自动的要求的。大公司用自动化测试因为它适合自动化测试的特点和有较高的投资回报率。化测试的特点和有较高的投资回报率。v哪些情况要用到自动化测试哪些情况要用到自动化测试 1、针对产品型项目的测试、针

29、对产品型项目的测试 2、针对增量式开发、持续集成项目的测试、针对增量式开发、持续集成项目的测试 3、针对能够自动编译、自动发布的系统的测试、针对能够自动编译、自动发布的系统的测试 4、回归测试、回归测试 5、需要多次重复、机械性动作的测试、需要多次重复、机械性动作的测试 6、需要频繁运行的测试、需要频繁运行的测试 7、将烦琐的任务转化为自动化测试、将烦琐的任务转化为自动化测试 HLJU Software Testing28例如:在下面几种情况下就不适合使用自动化测试。定制型项目(一次性的)定制型项目(一次性的)项目周期很短的项目项目周期很短的项目 涉及业务规则复杂的对象涉及业务规则复杂的对象

30、关于美观、声音、易用性的测试关于美观、声音、易用性的测试 很少运行的测试,如:一个月只运行一次的测试。很少运行的测试,如:一个月只运行一次的测试。测试的软件不稳定测试的软件不稳定 涉及物理交互的测试涉及物理交互的测试 自动化测试的问题是否可以完全取代手工测试不 能哪些情况下不适合使用自动化测试HLJU Software Testing291 1、对程序的新版本运行己有的测试,即回归测试。、对程序的新版本运行己有的测试,即回归测试。2 2、可以运行更多更频繁的测试。、可以运行更多更频繁的测试。3 3、可以进行一些手工测试难以完成或不可能完成的测试。、可以进行一些手工测试难以完成或不可能完成的测试

31、。4 4、充分地利用资源。、充分地利用资源。5 5、测试具有一致性和可重复性。、测试具有一致性和可重复性。6 6、测试具有复用性。、测试具有复用性。7 7、缩短软件发布的时间。、缩短软件发布的时间。8 8、增强软件的可靠性。、增强软件的可靠性。自动化测试的优点HLJU Software Testing30 1 1、自动化测试不能取代手工测试,、自动化测试不能取代手工测试,测试主要还是要靠人工测试主要还是要靠人工的。的。2 2、新缺陷越多,自动化测试失败的几率就越大。、新缺陷越多,自动化测试失败的几率就越大。3 3、工具本身不具有想象力、工具本身不具有想象力 4 4、技术问题、组织问题、脚本维护

32、、技术问题、组织问题、脚本维护 5 5、测试工具与其他软件的互操作性、测试工具与其他软件的互操作性 自动化测试的缺点HLJU Software Testing31v 提高测试质量;提高测试质量;v 减少测试过程中重复的手工劳动,提高测试效率;减少测试过程中重复的手工劳动,提高测试效率;v 实现测试自动化,充分利用测试资源。实现测试自动化,充分利用测试资源。1、应用自动化测试工具的目的 自动化测试工具的选择和使用HLJU Software Testing322、自动化测试工具的概要介绍 根据软件生命周期中的定义,可以把自动化测试工具分为三大类:白盒测试工具 黑盒测试工具 测试管理工具这些工具和软

33、件开发过程中相关活动的关系如图4所示:自动化测试工具的选择和使用HLJU Software Testing33编码以及单元测试白盒测试工具测试管理工具黑盒测试工具需求分析框架设计详细设计集成测试系统测试验收测试图4 测试工具与开发过程关系图 HLJU Software Testing34 一、白盒测试工具一、白盒测试工具 白盒测试工具一般是针对代码进行测试的工具,测试中发白盒测试工具一般是针对代码进行测试的工具,测试中发现的缺陷可以定位到代码级,根据测试原理的不同,又可现的缺陷可以定位到代码级,根据测试原理的不同,又可以分为静态测试工具和动态测试工具。以分为静态测试工具和动态测试工具。1 1、

34、静态测试工具静态测试工具 就是不运行测试而直接对代码进行分析的测试。就是不运行测试而直接对代码进行分析的测试。静态测试工具的代表有静态测试工具的代表有Telelogic公司的公司的Logiscope软件、软件、PR公司的公司的PRQA软件。软件。自动化测试工具的选择和使用HLJU Software Testing35 2 2、动态测试工具动态测试工具 主要采用主要采用“插桩插桩”的方式,即向代码生成的可执行文件中的方式,即向代码生成的可执行文件中插入一些监测代码,运行框架程序,统计程序运行时的数据,插入一些监测代码,运行框架程序,统计程序运行时的数据,可以针对所有类的成员函数进行测试,也可以只

35、针对类的公可以针对所有类的成员函数进行测试,也可以只针对类的公共接口函数进行测试。共接口函数进行测试。(1 1)商业性的白盒测试工具,比较有代表性的如:)商业性的白盒测试工具,比较有代表性的如:compuwarecompuware公司的公司的NumegaNumega系列工具和系列工具和ParaSoftParaSoft的的JavaSolutionJavaSolution以及以及C/C+SolutionC/C+Solution系列。系列。(2 2)非商业性的白盒测试工具,主要以)非商业性的白盒测试工具,主要以XunitXunit系列为代表的系列为代表的测试框架工具。测试框架工具。自动化测试工具的选

36、择和使用HLJU Software Testing36二、黑盒测试工具二、黑盒测试工具 黑盒测试工具包括:黑盒测试工具包括:1.1.功能测试工具功能测试工具2.2.性能测试工具。性能测试工具。黑盒测试工具的代表有黑盒测试工具的代表有v Rational Rational公司的公司的TeamTestTeamTest、RobotRobotv CompuwareCompuware公司的公司的QACenterQACenter,v 另外,专用于性能测试的工具包括有另外,专用于性能测试的工具包括有RadviewRadview公司的公司的WebLoadWebLoad、MicrosoftMicrosoft公司

37、的公司的WebStressWebStress等工具。等工具。自动化测试工具的选择和使用HLJU Software Testing37三、测试管理工具三、测试管理工具 测试管理工具用于对测试进行管理。一般而言,测试测试管理工具用于对测试进行管理。一般而言,测试管理工具主要对软件缺陷、测试计划、测试用例、测试管理工具主要对软件缺陷、测试计划、测试用例、测试实施进行管理。实施进行管理。*缺陷跟踪工具是管理工具使用最多的缺陷跟踪工具是管理工具使用最多的*。测试管理工具的代表有测试管理工具的代表有RationalRational公司的公司的Test ManagerTest Manager、Compure

38、wareCompureware公司的公司的TrackRecordTrackRecord等软件。等软件。自动化测试工具的选择和使用HLJU Software Testing38三、测试管理工具三、测试管理工具 如何选择缺陷跟踪工具?如何选择缺陷跟踪工具?方法如下方法如下:1.1.使用使用wordword、excelexcel等类型的平面文档;等类型的平面文档;2.2.自行设计开发一套管理软件;自行设计开发一套管理软件;3.3.购买商业性的软件;购买商业性的软件;4.4.下载一套适合自己的开源软件,自行配置和维护。下载一套适合自己的开源软件,自行配置和维护。自动化测试工具的选择和使用HLJU So

39、ftware Testing39四、四、其他自动化测试工具其他自动化测试工具 还有一些专用的自动化测试工具针对数据库测试的还有一些专用的自动化测试工具针对数据库测试的TestBytesTestBytes,对应用性能进行优化的,对应用性能进行优化的EcoScopeEcoScope等工具。等工具。自动化测试工具的选择和使用HLJU Software Testing40如何选择自动化测试工具?如何选择自动化测试工具?在考虑选用工具的时候,建议从以下几个方面来权衡和选择:在考虑选用工具的时候,建议从以下几个方面来权衡和选择:1 1、功能功能 *除了基本的功能之外,以下的功能需求也可以作为选择自动化测试

40、除了基本的功能之外,以下的功能需求也可以作为选择自动化测试工具的参考:工具的参考:1)1)报表功能;报表功能;2)2)自动化测试工具的集成能力;自动化测试工具的集成能力;3)3)操作系统和开发工具的兼容性;操作系统和开发工具的兼容性;2 2、价格、价格 3 3、对自动化测试工具进行评估。主要从以下几点来考虑:、对自动化测试工具进行评估。主要从以下几点来考虑:在使用了多种工具后对今后要采用的工具进行期盼。在使用了多种工具后对今后要采用的工具进行期盼。自动化测试工具的实际性能是否和自动化测试工具文档中声明的自动化测试工具的实际性能是否和自动化测试工具文档中声明的一致。一致。3 3总结试用自动化测试

41、工具的结果,得出评估报告总结试用自动化测试工具的结果,得出评估报告。自动化测试工具的选择和使用HLJU Software Testing41 4 4、引入自动化测试工具的目的是使测试自动化、引入自动化测试工具的目的是使测试自动化 7.3.4自动化测试工具在测试过程中的应用 很多引入测试软件的公司并没有能够让测试软件发挥应很多引入测试软件的公司并没有能够让测试软件发挥应有的作用,其原因主要有三个方面有的作用,其原因主要有三个方面:1、没有考虑公司的实际情况,盲目引入自动化测试工具 2、没有形成一个良好的使用自动化测试工具的环境 3、没有进行有效的自动化测试工具的培训HLJU Software T

42、esting42 性能测试实例 本节列举了一个使用本节列举了一个使用LoadRunnerLoadRunner进行的性能测试实例。进行的性能测试实例。1、LoadRunner 简介 LoadRunnerLoadRunner 是一种预测系统行为和性能的负载测试工是一种预测系统行为和性能的负载测试工具。通过模拟成千上万名用户和实施实时性能监测来确认具。通过模拟成千上万名用户和实施实时性能监测来确认和查找问题,和查找问题,LoadRunnerLoadRunner能够对整个企业架构进行测试。能够对整个企业架构进行测试。通过使用通过使用LoadRunnerLoadRunner,企业能最大限度地缩短测试时间

43、,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。其主要功能如下:优化性能和加速应用系统的发布周期。其主要功能如下:1 1、轻松创建虚拟用户、轻松创建虚拟用户 2 2、创建真实的负载、创建真实的负载 3 3、定位性能问题、定位性能问题 4 4、分析结果精确定位问题所在、分析结果精确定位问题所在HLJU Software Testing43 2、案例分析 该案例仍然是针对电厂两票管理系统的性能测试,电厂工该案例仍然是针对电厂两票管理系统的性能测试,电厂工作人员可以使用该管理系统开出工作票和操作票。假设开作人员可以使用该管理系统开出工作票和操作票。假设开设设100100个账号和密码

44、可供个账号和密码可供100100个工作人员同时开出工作票个工作人员同时开出工作票或操作票。要求,每台机器只能由一个用户使用,每个用或操作票。要求,每台机器只能由一个用户使用,每个用户只能使用各自不同的账号登录该管理系统,开票结束后,户只能使用各自不同的账号登录该管理系统,开票结束后,要求把工作票或操作票内容存档,若在规定的时间内没有要求把工作票或操作票内容存档,若在规定的时间内没有存档,则系统强制存档。存档,则系统强制存档。HLJU Software Testing44 但是,一般测试部门不可能有但是,一般测试部门不可能有100100台机器同时进行测试的。台机器同时进行测试的。所以,使用所以,

45、使用Loadrunner7.51Loadrunner7.51模拟模拟IPIP地址,修改脚本来协地址,修改脚本来协助测试。但是,为了保证测试结果,建议使用所有可用的助测试。但是,为了保证测试结果,建议使用所有可用的机器进行复测,因为有时候测试工具是不可以完全信赖的。机器进行复测,因为有时候测试工具是不可以完全信赖的。现场测试环境:硬件:硬件:100100台台PCPC机,一个机,一个WebWeb服务器服务器 操作系统:操作系统:Windows 2000 ServerWindows 2000 Server 测试工具:测试工具:LoadrunnerLoadrunner 8.0 8.0 浏览器:浏览器:

46、IE5.0IE5.0和和IE6.0IE6.0 测试人员:质控小组测试人员:质控小组4 4人,执行现场测试人,执行现场测试 项目小组项目小组2222人,提供现场环境人,提供现场环境 技术小组各技术小组各1 1人,提供技术支持人,提供技术支持HLJU Software Testing45 测试要求:100100个用户拥有独立个用户拥有独立IPIP地址,不同的用户及密码登录,地址,不同的用户及密码登录,开票操作完成后各自同时把工作票或操作票内容存档。开票操作完成后各自同时把工作票或操作票内容存档。测试内容:100100个用户以不同的用户名和密码登录该管理系统。开个用户以不同的用户名和密码登录该管理系

47、统。开票完成后,把工作票或操作票内容存档。测试系统是否能票完成后,把工作票或操作票内容存档。测试系统是否能正常开票以及正确存档。正常开票以及正确存档。测试方案:1 1、完全完全5050台实际的台实际的PCPC机进行现场测试。机进行现场测试。(1 1)准备工作,并做计划。第一轮测试执行三遍,设定准备工作,并做计划。第一轮测试执行三遍,设定5050个用户开出的工作票或操作票内容同时提交,第一遍个用户开出的工作票或操作票内容同时提交,第一遍全部使用全部使用IE5.0IE5.0,第二遍,第二遍2525台使用台使用IE5.0IE5.0,2525台使用台使用IE6.0IE6.0,第三遍全部使用,第三遍全部

48、使用IE6.0IE6.0 HLJU Software Testing46 (1 1)准备工作,并做计划。第一轮测试执行三遍,设定准备工作,并做计划。第一轮测试执行三遍,设定5050个个用户开出的工作票或操作票内容同时提交,第一遍全部使用用户开出的工作票或操作票内容同时提交,第一遍全部使用IE5.0IE5.0,第二遍,第二遍2525台使用台使用IE5.0IE5.0,2525台使用台使用IE6.0IE6.0,第三遍全部,第三遍全部使用使用IE6.0IE6.0(2 2)At 9At 9:00 00,5050个用户同时登录系统个用户同时登录系统(3 3)At 9At 9:05 05,5050个用户同时

49、提交个用户同时提交(4 4)分别记录第一轮测试(三遍)的结果分别记录第一轮测试(三遍)的结果(5 5)第二轮测试准备工作,设定第二轮测试准备工作,设定3030个用户开出的工作票或操个用户开出的工作票或操作票内容同时提交,另外作票内容同时提交,另外2020个用户延时个用户延时5 5分钟提交,全部使用分钟提交,全部使用IE5.0IE5.0(6 6)At 9At 9:15 15,5050个用户同时登录系统个用户同时登录系统(7 7)At 9At 9:20 20,3030个用户同时提交个用户同时提交(8 8)At 9At 9:25 25,剩余,剩余2020个用户同时提交个用户同时提交(9 9)记录第二

50、轮测试结果记录第二轮测试结果(1010)第三轮测试准备工作,设定第三轮测试准备工作,设定3030个用户开出的工作票或个用户开出的工作票或操作票内容同时提交,另外操作票内容同时提交,另外2020个用户延时个用户延时5 5分钟提交,全部使分钟提交,全部使用用IE6.0IE6.0HLJU Software Testing47 (1111)At 9At 9:15 15,5050个用户同时登录系统个用户同时登录系统 (1212)At 9At 9:20 20,3030个用户同时提交个用户同时提交 (1313)At 9At 9:25 25,剩余,剩余2020个用户同时提交个用户同时提交 (1414)记录第三

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件测试-教案课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|