软件测试主题议程草案.docx

上传人:b****7 文档编号:9415172 上传时间:2023-02-04 格式:DOCX 页数:13 大小:120.70KB
下载 相关 举报
软件测试主题议程草案.docx_第1页
第1页 / 共13页
软件测试主题议程草案.docx_第2页
第2页 / 共13页
软件测试主题议程草案.docx_第3页
第3页 / 共13页
软件测试主题议程草案.docx_第4页
第4页 / 共13页
软件测试主题议程草案.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

软件测试主题议程草案.docx

《软件测试主题议程草案.docx》由会员分享,可在线阅读,更多相关《软件测试主题议程草案.docx(13页珍藏版)》请在冰豆网上搜索。

软件测试主题议程草案.docx

软件测试主题议程草案

《软件测试》教学大纲

一、学分:

32学时,其中含讲课24学时,上机8学时

二、先修课程:

管理信息系统、程序设计语言、信息系统开发工具等

三、教材

1、指定教材:

软件测试,RonPatton,机械工业出版社

2、参考书目:

软件测试的有效方法,WilliamE.Perry,机械工业出版社

软件测试的过程管理,RexBlack,机械工业出版社

 

四、教学目的

软件测试是信息系统开发中的一个重要步骤,随着软件变得日益复杂,软件测试也变得越来越重要。

通过本课程的理论学习与实践,使学生掌握软件测试的基本概念与基本理论,学会软件测试的方法、软件测试工具的使用、软件测试过程的管理。

五、教学内容:

本课程主要讲授软件测试的基本概念、原理和技术。

通过对测试计划、测试用例、测试过程与自动化测试工具的讲解与应用,使学生掌握软件测试的原理与方法。

六、课前预习

学生最好在课前进行预习,课堂上将着重于如何解决问题。

如果学生事先阅读了相关章节,这将有助于学生理解讲课的内容。

七、考试说明

1、考试方式:

闭卷考试、上机考试

2、分数说明

本课程有课后作业、上机作业和不定期地进行随堂测验以及一次期末考试,各部分所占总分的比例如下:

随堂测验10%

课后作业10%

上机作业(含上机考试)20%

期末考试 60%

不定期的随堂考试将在正式讲课之前进行,大约10分钟左右,所以不要迟到或逃课。

 

课后作业包括讲义所含相关章节的全部课后习题。

如果抄袭书后答案将被给予0分。

作业必须在指定日期的上课之前交上来。

八、要求

1、除非学生能证明有特殊情况,例如疾病,否则不能以任何借口不参加考试和随堂测验。

如果无故不参加考试和测验,给予0分。

学生之间可以讨论课后作业,但是不可以抄袭别人的作业。

助教可以不予批改迟交的作业。

2、涉及学生的学术不诚实问题主要包括考试作弊;抄袭;伪造或不当使用在校学习成绩;未经老师允许获取、利用考试材料;对于学术不诚实的最低惩罚是考试给予0分。

其他的惩罚包括通告学校相关部门并按照有关规定进行处理

九、课程进度表

2月9日

第一章软件测试的基本概念(3学时)

1.1软件测试的定义与目标

1.2测试流程

2月11日

1.3软件测试的原则

2月16日

第二章测试计划(5学时)

2.1测试系统体系结构

2月18日

2.2测试用例设计

2月23日

2.3测试小组构成

2月25日

第三章测试过程(6学时)

3.1单体测试

3月2日

3.2集成测试

3.3确认测试

3月4日

3.4系统测试

3.5验收测试

3月9日

第四章软件测试自动化(6学时)

4.1自动化测试概述

4.2测试需求分析

3月11日

4.3测试计划

4.4测试设计与开发

4.5系统测试

3月16日

4.6快速测试技术和方法

4.7其他专用测试

4.8自动化测试软件

3月18日

第五章测试过程管理(4学时)

5.1测试过程

5.2CMM

5.3微软的测试过程管理

十、上机作业:

1、使用Eclipse中的JUnit工具建立第一个测试,eclipse的当前版本可以从它的官方网站(www.eclipse.org)下载。

JUnit也可以从它的官方网站(www.junit.org)上下载,下载并解压缩到你硬盘中存放javalibaries的地方。

 打开Eclipse,建立一个新的工程的工作空间(workplaceproject)点File->New->Project,选择Java一路Next。

输入工程名称(projectname),比如ProjectWithJUnit.点击完成。

这样就建立了一个新工程,配置一下Eclipse,把JUnitlibrary添加到buildpath。

点击Project-->Properties,选择JavaBuildPathLibraries,点AddExteranalJARs选中JUnit.jar。

可以看到JUnit将会出现在的屏幕上libraries列表中。

点Okay,Eclipse将强制rebuild所有的buildpaths.

为了方便起见,假定将要写的类名是HelloWorld有一个返回字符串的方法say()。

 要建立这样一个test,在ProjectWithJUnit标题上右键,选择New->Other,展开"Java",选择JUnit.在对话框的右边一拦里选择TestCase,接着点Next.参见图1。

 图1。

在Eclipse中建立JUnittest

在Testclass:

一栏里输入需要测试的class--HelloWorld。

并且给Testcase取个名称---比如,TestThatWeGetHelloWorldPrompt,点Finish完成。

 下面是TestThatWeGetHelloWorldPrompt.java的代码:

 publicclassTestThatWeGetHelloWorldPromptextendsTestCase{

publicTestThatWeGetHelloWorldPrompt(Stringname){

super(name);

}

publicvoidtestSay(){

HelloWorldhi=newHelloWorld();

assertEquals("HelloWorld!

",hi.say());

}

publicstaticvoidmain(String[]args){

junit.textui.TestRunner.run(TestThatWeGetHelloWorldPrompt.class);

}

}

这个代码继承了JUnit的TestCase.(TestCase在JUnit的javadoc里定义是"用来运行多个Test的固定装置")。

JUnit也定义了TestSuite由于一组关联的TestCase组成..

通过以下两步来建立简单的TestCase;

(a)建立Junit.framework.TestCase的实例。

(b)定义一些以"test"开头的测试函数,并且返回一空值.(比如testWasTranscationSuccessful(),testShow()等等)。

 TestThatWeGetHelloWorldPrompt.java同时遵循这些标准:

这些TestCase的子类含有一个testSay()的方法。

这个方法由assertEquals()方法调用,用于检验say()的返回值(按照这里的做法返回应该是不一致,因为一开始建立的HelloWorld设定让say()返回的值是null)。

 main()主函数是用来运行test并且显示输出的结果。

JUnit的TestRunnery以(swing.u)图形和本文(text.ui)的的方式来执行test并反馈信息。

使用文本(text.ui),这个Eclipse肯定支持。

(所谓文本和图形,是指在建立TestCase的时候,有一个选项,Whichmethodstubswouldyouliketocreate,选择text.ui||swing.ui||awt.ui,一般是选择text.ui因为Eclipse肯定支持这个),依照这些文本的信息,Eclipse同时会生成图形显示。

(在PackageExploer的下面Tab条上会多个JUnit,点它就看到了:

)。

 一旦跑起了test,应该看到返回一些错误的信息。

点Run->Runas->JUnitTest(注意,这个TestThatWeGetHelloWorldPrompt.java应该在PackageExplorer被点中,在左边那个window中),点到的应该是JUnitwindow(就是下面的那个Tab条,注意不是PackageExploer),可以看到JUnitwindow,会显示一个红色条,表示是一个失败的Test。

(如果按了运行但没有自动转到这个窗口,可以点做下Tab条上的JUnit标签。

现在正式开始建立用于工作的HelloWorld代码,---点New->Class,可能和原来的的重复,那就把原来的删掉。

代码如下:

 HelloWolrd.java

publicclassHelloWorld{

publicStringsay(){

return("HelloWorld!

");

}

}

 现在再来测试一下看看结果。

就用上面的方法,点Run->RunAsJnit.在左边的JUnit窗口中出现了一个绿条。

看图三。

出现绿色的条表示测试通过了。

现在,再变个条件,让测试不通过。

这将帮助我们理解JUnittest怎样覆盖并且报出不同的错误。

编辑assertEquals()方法,把它的返回值从"HelloWorld!

"变成另外一个值比如"HelloME!

".这样,当你再运行这个JUnittest,那个显示条又变成红的了,并且在FailuerTrace里看到是不是什么导致了错误。

如图:

2、针对管理学院网站设计黑盒测试用例,并实践之。

3、采用LoadRunner,针对一个试题库的性能测试。

网站在内部web服务器上,假设开设50个账号和密码可供50个考生同时参加考试。

要求,每台机器只能由一个用户使用,每个用户只能使用各自不同的账号登录考试系统,做完题目后,要求提交考试结果,若在制定的时间内不提交,则系统强制提交考试结果。

但是,一般测试部门不可能有50台机器同时进行测试的。

所以,可以借Loadrunner模拟IP地址,修改脚本来协助测试。

但是,为了保证测试结果,建议搜罗所有可用的机器进行复测,因为有时候是不可以完全信赖工具的。

(a)测试要求

50个用户拥有独立IP地址,不同的用户及密码登录,试题完成后各自同时提交。

(b)测试内容

50个用户以不同的用户名和密码登录试题库。

试题完成后,提交考试结果。

测试考试结果是否能正常提交以及正确评分。

(c)测试方案

(1)完全20台实际的PC机进行现场测试。

1)准备工作,并做计划。

第一轮测试执行三遍,设定用户考试内容全部同时提交,第一遍全部使用IE5.0,第二遍10台使用IE5.0,10台使用IE6.0,第三遍全部使用IE6.0

2)At9:

00,20个用户同时登录系统

3)At9:

05,20个用户同时全部提交

4)分别记录第一轮测试(三遍)的结果

5)第二轮测试准备工作,设定15个用户考试内容同时提交,另外5个用户延时5分钟提交,全部使用IE5.0

6)At9:

15,20个用户同时登录系统

7)At9:

20,15个用户同时提交

8)At9:

25,剩余5个用户同时提交

9)记录第二轮测试结果

10)第三轮测试准备工作,设定15个用户考试内容同时提交,另外5个用户延时5分钟提交,全部使用IE6.0

11)At9:

15,20个用户同时登录系统

12)At9:

20,15个用户同时提交

13)At9:

25,剩余5个用户同时提交

14)记录第三轮测试结果

15)第四轮测试准备工作,设定15个用户考试内容同时提交,另外5个用户延时5分钟提交,正常提交用户使用IE5.0,延时提交用户使用IE6.0

16)At9:

15,20个用户同时登录系统

17)At9:

20,15个用户同时提交

18)At9:

25,剩余5个用户同时提交

19)记录第四轮测试结果

20)第五轮测试准备工作,设定15个用户考试内容同时提交,另外5个用户延时5分钟提交,正常提交用户使用IE6.0,延时提交用户使用IE5.0

21)At9:

15,20个用户同时登录系统

22)At9:

20,15个用户同时提交

23)At9:

25,剩余5个用户同时提交

24)记录第五轮测试结果

25)第六轮测试准备工作,设定15个用户考试内容同时提交,另外5个用户延时5分钟提交,正常提交用户其中10个使用IE5.0,5个使用IE6.0,延时提交用户使用IE5.0

26)At9:

15,20个用户同时登录系统

27)At9:

20,15个用户同时提交

28)At9:

25,剩余5个用户同时提交

29)记录第六轮测试结果

30)第七轮测试准备工作,设定10个用户考试内容同时提交,另外10个用户分两次分别延时5分钟、15提交

31)At9:

35,20个用户同时登录系统

32)At9:

40,10个用户同时提交

33)At9:

45,剩余的其中5个用户同时提交

34)At9:

55,剩余的5个用户同时提交

35)记录第七轮测试结果,参见第二轮测试-第六轮测试过程分别对IE5.0和IE6.0的情况进行测试

36)第八轮测试准备工作,设定其中10个用户不提交,由系统强行提交

37)At10:

10,20个用户同时登录系统

38)At10:

15,10个用户同时提交

39)其余用户的内容由系统强行提交

40)记录第八轮测试结果,参见第二轮测试-第六轮测试过程分别对IE5.0和IE6.0的情况进行测试

41)第九轮测试准备工作,设定其中10个用户同时提交,5个用户延时5分钟提交,其余用户由系统强行提交

42)At10:

25,20个用户同时登录系统

43)At10:

30,10个用户同时提交

44)At10:

35,剩余的其中5个用户同时提交

45)剩余5个用户系统强制提交

46)记录第九轮测试结果,参见第二轮测试-第六轮测试过程分别对IE5.0和IE6.0的情况进行测试

(2)模拟20个用户进行测试。

其中,10台是PC机,另外10台机器的IP地址是Loadrunner模拟出来的。

1)在10台实际的PC机中抽取其中一台虚拟10个IP地址,包括自身的IP地址,该机器上共11个IP地址,这11个IP地址只能全部使用IE5.0或者全部使用IE6.0

2)其余9台实际的PC机分别由9个人操作,另外一台机器由一位质控部人员操作

3)对于异常情况,延时提交和强制提交全部由实际的机器来模拟

4)其余过程参见

(1)

(3)模拟20个用户进行测试。

其中,5台是PC机,另外15台机器的IP地址是用Loadrunner模拟出来的。

1)在5台实际的PC机中抽取其中一台虚拟15个IP地址,包括自身的IP地址,该机器上共16个IP地址,这16个IP地址只能全部使用IE5.0或者全部使用IE6.0

2)其余4台实际的PC机分别由4个人操作,另外一台机器由一位质控部人员操作

3)对于异常情况,延时提交和强制提交全部由实际的机器来模拟

4)其余过程参见

(1)

(4)模拟35个用户进行测试。

其中,20台是PC机,另外15台机器的IP地址是用Loadrunner模拟出来的。

1)在20台实际的PC机中抽取其中两台分别虚拟7个、8个IP地址,这17个IP地址只能全部使用IE5.0或者全部使用IE6.0

2)其余18台实际的PC机分别由18个人操作,另外两台机器由两位质控部人员操作

3)对于异常情况,延时提交和强制提交全部由实际的机器来模拟

4)其余过程参见

(1)

(5)模拟50台用户进行测试。

其中,20台是PC机,另外30台机器的IP地址是用分别用两台实际的PC机模拟出来的。

记录测试结果。

1)在20台实际的PC机中抽取其中两台分别虚拟15个IP地址,这32个IP地址只能全部使用IE5.0或者全部使用IE6.0

2)其余18台实际的PC机分别由18个人操作,另外两台机器由两位质控部人员操作

3)对于异常情况,延时提交和强制提交全部由实际的机器来模拟

4)其余过程参见

(1)

(6)对(5)中所述情况重复测试两次。

(7)为了保证结果的正确性,完全50台实际的PC机进行现场测试。

过程参见

(1)

(d)测试过程

注:

该测试过程针对虚拟IP地址情况。

(1)一台PC机上创建15个虚拟的IP地址。

首先,启动IPWizard,如下:

开始程序->Loadrunner->Tools->IPWizard,点击“Add”,添加你计划虚拟的IP地址。

但是注意不能添加已经被占用的IP地址。

(2)启动VirtualUserGenerator,并录制脚本,由于50个用户的账号和密码各不相同,所以,要修改脚本,设置参数。

我是录制了一个脚本,复制了49份,在每个脚本中手工修改了各自不同的地方。

(3)启动LoadrunnerController,先将刚才保存的脚本添加进来。

然后点击“Scenario”菜单,激活其中的“EnableIPSpoofer”。

(4)点击屏幕右方的“Generators”,添加已经建立的IP,然后connect建立连接。

(5)对连接起来的不同用户(IP地址)分配不同的脚本,在Controller中的“design”中,点击“LoadGenerators”其中,每个脚本有一个用户执行。

(6)执行Scenario。

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

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1