软件测试课程设计

时间:2024.4.7

存档资料                                 成绩: 

华东交通大学理工学院

课 程 设 计 报 告 书

所属课程名称   软件测试课程设计                       

题    目           软件测试                    

分    院           电信分院                

专业班级          11信管1班                          

学  号                        

学生姓名                              

指导教师                                 

       20   年    月   日  

课程设计(论文)评阅意见

评阅人       职称            

20   年  月   日


目录

第一章 课程设计目的............................... 4

第二章 功能测试.................................. 5

第三章 结构测试.................................. 9

3、1. 逻辑路径测试............................. 9

3、2. 基本路径测试............................ 11

第四章 压力测试................................. 14

第五章 课程设计心得.............................. 16

第六章 参考文献................................. 17


第一章 课程设计目的

这次的软件测试课程设计与以前我做过的那些课程设计很不同,以往的都是一个大题而已,而这次的课程设计共有五个题目,需要使用到三种测试方法:功能测试、结构测试、压力测试。

软件性测试需要贯穿在整个软件生命周期的每个阶段,每个时刻。它需要伴随着软件开发以检验每一个阶段性的成果是否符合质量的要求和达到预先定义的目标,尽早的发现错误并改正以减少损失。

软件测试是软件工程中非常重要的环节,是软件质量的保证。该课程是培养训练学生软件质量保证能力的重要实践性教学环节,与软件测试技术课程的教学内容紧密配合,同步进行。开设该课程设计的主要目的是:通过软件测试的实践训练,深刻理解和掌握软件测试和软件测试过程的基本方法和基本技术,熟练掌握功能测试、结构测试的测试用例的设计,同时进一步提高学生对于复杂程序的编写能力,为学生将来从事实际软件测试工作和进一步深入研究打下坚实的理论基础和实践基础。


第二章 功能测试

功能测试也称为黑盒测试,黑盒测试是根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子。

软件测试人员以用户的角度,通过各种输入和观察软件的各种输出结果来发现软件存在的缺陷,而不关心程序具体如何实现的一种软件测试方法。

黑盒测试常用工具有:AutoRunner、winrunner、loadrunner。

以下两个题采用等价类划分法进行功能测试。

等价划分测试是根据等价类设计测试用例的一种技术。是黑盒测试的典型方法之一,通过把被测试程序所有可能的输入数据域划分成若干部分。从每一部分中选取少数有代表性的数据作为测试用例,可有效减少测试次数,极大提高软件测试效率,缩短软件开发周期.等价类划分测试的目的就是为了在有限的测试资源的情况下,用少量有代表性的数据得到比较好的测试效果。有效等价类和无效等价类。有效等价类中的数据代表的是一组符合需求文档的正确的有意义数据。无效等价类则正相反。

1、用等价类划分法测试为保险公司计算保费费率的程序。

某保险公司的人寿保险的保费计算方式为:投保额*保险费*保险费率,其中的保险费依点数不同而有别,10点及10点以上保险费为0.6%,10点以下保险费率为0.1;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下:

对程序中各个输入条件的要求如下:

年龄是一位或两位非零整数,值的有效范围为1-99;性别是一位英文字符,有效取值只能为‘M’(表示男性)或‘F’(表示女性);婚姻的有效取值只能为‘已婚’或‘未婚’:抚养人数的有效取值可以是空白或一位非零整数(1-9)。

(1)分析程序的规格说明,列出等价类表(包括有效等价类和无效等价类)。

(2)根据(1)中的等价类表,设计能覆盖所有等价类的测试用例的输入数据和预期输出。

步骤1:分析程序的规格说明,列出输入域等价类表

步骤2:根据等价类表设计能覆盖所有等价类的测试用例

2、某城市电话号码由三部分组成。它们的名称和内容分别是:

   地区码:空白或三位数字:

   前缀:非‘0’或‘1’的三位数字:

   后缀:4位数字。

   假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。

答:1.划分等价类

设计测试方案

第三章 结构测试

结构测试也称为白盒测试,白盒测试是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。

白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。

白盒测试常用工具有:Jtest、VcSmith、Jcontract、C++ Test、CodeWizard、logiscope。

 

以下两题目分别采用逻辑覆盖测试、基本路径覆盖测试,其中对于逻辑覆盖测试的用例设计,采用了语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖对程序设计测试用例。

3、1.  逻辑路径测试

使用逻辑覆盖测试方法测试以下程序段:

 Void Do Work(int x,int y,int z)

  {

1   int k=0,j=0;

2   if((x>3)&&(z<10))

3   {

4      k=x*y-1;

5      j=sqrt(k);

6    }

7    if((x==4)||(y>5))

8       j=x*y+10;

9    j=j%3;

10   }

说明:程序段中每行开头的数字(1-10)是对每条语句的编号。

(1)画出程序的控制流图(用题中给出的语句编号表示)。

(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。

解答:

(1)

程序的控制流图如下:

                            

                                  

                                       

                                              

                                        

(2)假设M=(x>3)&&(z<10),N=(x=4)||(y>5),/M表示M的取反,/N同理

      条件>3为真时为T1,为假时为F1,

      条件<10为真时为T2,为假时为F2,

      条件x==4为真时为T3,为假时为F3.

      条件y>5为真时为T4,为假时为F4.

语句覆盖:输入x=5,y=6,z=9,满足MN,执行路径为:  1-2-3-4-5-6-7-8-9-10,输出k=29,j=1

判定覆盖:输入x=5,y=6,z=9,满足MN,执行路径为:               1-2-3-4-5-6-7-8-9-10,输出k=29,j=1

             输入x=3,y=5,z=10,满足/M/N,执行路径为:1-2-7-9-10,输出k=j=0

条件覆盖: 输入x=4,y=5,z=10,满足T1F2T3F4,执行路径为: 1-2-7-8-9-10,输出k=j=0

            输入x=3,y=6,z=9,满足F1T2F3T4,执行路径为:1-2-7-8-9-10,输出k=0,j=1

判定/条件覆盖:输入x=4,y=6,z=9,满足MN、T1T2T3T4,执行路径为:

               输入x=3,y=6,z=9,满足F1T2F3T4,执行路径为:  1-2-7-8-9-10,输出k=0,j=1

判定/条件覆盖:输出x=4,y=6,z=9,满足MN、T1T2T3T4,执行路径为: 1-2-3-4-5-6-7-8-9-10,输出k=23,j=1

               输入x=3,y=5,z=10,满足/M/N、F1F2F3F4,执行路径 为:1-2-7-9-10,输出k=j=0

条件组合覆盖:输入x=4,y=6,z=9,满足MN、T1T2T3T4,执行路径为:

              1-2-3-4-5-6-7-8-9-10,输出k=23,j=1

              输入x=4,y=5,z=10,满足/MN、T1F2T3F4,执行路径为:

              1-2-7-8-9-10,输出k=j=0

              输入x=3,y=6,z=9,满足/MN、F1T2F3T4,执行路径为:

              1-2-7-8-9-10,输出k=0,j=1

              输入x=3,y=5,z=10,满足/M/N、F1T2F3F4,执行路为:

              1-2-7-9-10,输出k=j=0

路径覆盖:输入x=5,y=6,z=9,执行路径为:1-2-3-4-5-6-7-8-9-10输出k=29,j=1

          输入x=5,y=5,z=9,执行路径为:1-2-3-4-5-6-7-9-10输出k=24,j=1

          输入x=3,y=6,z=9,执行路径为:1-2-7-8-9-10输出k=0,j=1

          输入x=3,y=5,z=10,执行路径为:1-2-7-9-10输出k=j=0

3、2.  基本路径测试

使用基本路径测试方法测试以下程序段:

  Int IsLeap(int year)

  {

①    if(year%4==0)

   {

②     if(year%100==0)

    {

③       if(year%400==0)

④         leap=1;

      else

⑤         leap=0;—

     }

     else

④        leap=1;

}

else

⑤        leap=0;

⑥     return leap;

  }

说明:写在程序段某些行开头的数字(1 - 6)是对相应语句的编号。

(1)画出程序的控制流图(用题中给出的语句编号表示)。

(2)计算上述程序段的环形复杂度。

(3)导出基本路径集,列出程序的独立路径(用题中给出的语句编号表示)。

(4)假设输入的取值范围是1000<year<2001,请根据(3)中的独立路径,设计测试用例的输入数据和预期输出。

解答:(1)

(2)圈复杂度:V(G)=4

(3)基路径

     Path1:1,2,10,11,12

     Path2:1,2,3,8,9,11,12

     Path3:1,2,3,4,6,7,9,11,12

     Path4:1,2,3,4,5,7,9,11,12

(4)测试用例:

用例1:year是1000-2000之间不能被4整除的整数,如1001、1002、1003等。

用例2:year是1000-2000之间能被4整除但不能被100整除的整数,如1004、1008、1012、10016等。

用例3:year是1000-2000之间能被100整除但不能被400整除的整数,如1100、1300、1400、1500、1700、1800、1900

用例4:year是1000-2000之间能被400整除的整数,如1200、1600、2000。


第四章 压力测试

 压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试。通常要进行压力测试的资源包括内部内存、CPU 可用性、磁盘空间和网络带宽等。一般用并发来做压力测试。下题运用到的知识如下:

(1)响应时间:从应用系统发出请求开始,到客户端接收到最后一个字节数据为止所消耗的时间。 

(2)并发用户数:同一时间段内访问系统的用户数量。 

(3)吞吐量:单位时间内系统处理的客户请求数量。 

压力测试是指模拟实际应用的软硬件环境及多用户订单提交过程的系统负荷,运行测试软件来测试被测系统的可靠性、稳定性等。本次实验所用到的压力测试方法有: 

(4)重复测试:重复执行某个操作或功能,以检验软件能否在极端情况下正常执行该操作。 

(5)并发测试:并发是同时执行多个操作的行为,即在同一时间执行多个测试线程。

1、负载压力性能测试是评估系统性能、性能故障诊断以及性能调优的有效手段。自选一个系统,例如税务征管系统中“税票录入”业务或“投票”业务等进行测试。系统服务器端由应用服务器和单节点数据库服务器组成。

回答以下问题:

(1)简述交易吞吐量和交易响应时间的概念。

(2)试判断随着负载的增加,当交易吞吐量不再递增时,交易响应时间是否会递增,并说明理由。

(3)对系统进行测试并且补充上表,根据测试结果,判断服务器资源使用情况是否合理,为什么?

(4)在并发用户数为50时,如果交易吞吐量和交易响应时间都不满足需求,简述数据库端造成此缺陷的主要原因,有效的解决方案是什么?

(5)若去年仓库处理“税票录入”交易约100万笔,考虑到3年后交易量递增到每年200万笔。假设每年交易量集中在8个月,每个月20个工作日,每个工作日8小时。试采用80~20原理估算系统服务器高峰期“税票录入”的交易吞吐量(trans/s)。

答:

(1)交易吞吐量:系统服务器每秒能够处理通过的交易数。

     交易响应时间:是系统完成事务执行准备后所采集的时间戳和系统完成待执行事务后所采集的时间戳之后的时间间隔,是衡量特定类型应用事务性能的重要指标,标志了用户执行一项操作大致需要多长时间。

(2)当系统吞吐量未达到系统处理极限时,系统性能不衰减,交易平均响应时间一般不会递增;

   当系统达到交易吞吐量极限时,客户端交易会在请求队列中排队等待,等待的时间会记录在响应时间中,交易平均响应时间一般会递增。

(3)数据库服务器资源使用不合理。

     服务器资源使用中最主要的指标是CPU利用率,对于一般的应用系统,在负载压力期间当CPU利用率平均值持续达到85%以上时,表示服务器资源使用出现瓶颈,视为不合理。

     当并发用户数达到50时,数据库服务器CPU平均利用率(%)达到97.5%,属不合理范围。

(4)数据库端造成此缺陷的主要原因包括:

     服务器资源负载过重;

     数据库设计不合理;

     数据库单个事务处理响应时间长;

     系统并发负载造成最终用户响应时间长;

     有效的解决方案是:采用数据库集群策略,并注意配置正确。

(5)(1000000*2*80%)/(8*20*8*3600*20%)=1.74trans/s

      即服务器处理“税票录入”交易的吞吐量应达到1.74trans/s

第五章 课程设计心得

通过此次软件测试的课程设计,深刻学习掌握了软件测试和软件测试过程的基本方法和基本技术,关于黑盒、白盒的测试用例的设计,也进行了认真学习研究,从而进一步提高了自己在程序上的编写能力,以及一些之前未触及的问题,为即将踏上社会的自己又做了一份理论和实践的准备。

《软件测试方法和技术》这门课程是计算机软件工程专业的一门专业课,它具有很高的专业性知识,通过学习《软件测试方法和技术》,在《现代软件工程》课程基础上,将《现代软件工程》课程中的软件测试部分专门提取出来并详细解读,足以见本门课程的内容在软件实际开发过程中的重要性,软件测试做的好坏能决定一个软件的好坏,软件测试用例使用的好坏也决定着软件测试过程、软件的好坏。学习好本门课程对以后进行软件开发以及软件测试有着很好的作用。通过本次课程设计,以具体的测试实例加深巩固了本学期所开设的《软件测试方法和技术》课程。掌握并总结实践中的缺点和成功之处,将为我们将来在软件行业工作打下良好基础。总之,这几天来的付出得到了回报,既巩固了所学的知识,又加深了对这门学科的理解,感觉自己收获颇丰。

这次课设,让我学到了很多书本上没有的东西,我也将课本上的知识融会贯通,起到了很好的辅助学习的效果,我也发现我学到的知识比上个学期学的还要多。理论和实践相结合是学习的最有效的方法,这次设计中我也发现了自己的很多不足之处,对以前所学的理解不够深刻,掌握不够牢固。

第六章 参考文献

[1]张小松,王钰,曹跃 等译.软件测试(原书第2版).机械工业出版社.2006.4

[2]陈能技(著).软件测试技术大全:测试基础、流行工具、项目实战(第二版).人民邮电出版社.2011.7

[3]段念.软件性能测试过程详解与案例剖析(第二版).清华大学出版社.2012.6

[4]刘群策,《LoadRunner和软件项目性能测试》,机械工业出版社,20##年

[5]朱少民,《软件测试方法和技术》,清华大学出版社,20##年

[6]段念,《软件性能测试过程详解与案例剖析》,清华大学出版社,20##年

[7]宫云站,《软件测试教程》,机械工业出版社,20##年

[8]谢希仁,计算机网络(第五版)北京:电子工业出版社,2008.2

[9]胡小强,计算机网络 北京:电子邮电大学出版社 2005.1

[10]张海藩,《软件工程导论》(第五版),清华大学出版社,2008.2

更多相关推荐:
软件测试课程设计报告

试课程设计报告姓名俞金剑专业软件工程班级1016学号10418602指导教师张敏盐城师范学院信息科学与技术学院软件测书1234568910111213

《软件测试技术课程设计》课程设计报告

《软件测试技术课程设计》课程设计报告班级:姓名:学号:设计时间:20XX/6/24到20XX/6/28一、课程设计名称:图书管理系统的测试二、使用工具软件:MyEclipse,JProfilerwindows7…

《软件测试技术》课程设计报告——测试计划(20xx级)1

北方民族大学课程设计报告系部中心计算机科学与工程学院姓名赵岩学号20xx1445专业计算机科学与技术班级09计算机二班同组人员课程名称软件测试技术设计题目名称学生管理系统学生信息读取测试计划起止时间20xx年3...

软件测试课程设计报告

07软件工程一班xxxxxxxxxxxxxxxxxxxxxx年xx月xx日黑盒测试报告一等价类划分测试用例按月划分用例一输入1801年1月1日预计输出Yesterdayis18001231实际输出Yesterd...

软件测试课程设计

软件测试课程设计要求1分组要求每组2人班级内自由组合2测试内容1系统需求测试及确认2白盒测试选择编写测试用例并进行2种类型以上的覆盖测试并针对测试用例画出表格3黑盒测试选择编写测试用例针对模块中的功能点进行测试...

软件测试课程设计

一关于系统代码1四人一组但应各自独立设计和编写代码严禁拷贝他人代码特别是同一组的同学2除手机相关的题目外其余系统采用CS或BS架构均可编程语言和实现技术不限3除手机相关的题目外其余系统采用RDBMS推荐使用My...

软件测试课程设计任务书

附件1课程设计任务书信息工程学院软件测试课程设计任务书20xx20xx学年第二学期课程设计题目专业班级软件工程班组长姓名学号组员姓名学号完成期限自至20xx年6月26日共1周指导教师签字教研室系主任签字批准日期...

图书管理系统《软件测试技术》课程设计报告——测试计划

北方民族大学课程设计报告系部中心计算机科学与工程学院姓名学号专业班级同组人员课程名称软件测试技术设计题目名称图书管理系统系统测试计划起止时间20xx年3月1日20xx年5月1日成绩指导教师签名北方民族大学教务处...

《软件测试》课程设计指导书

课程设计指导书20xx20xx学年第二学期课程设计名称软件测试课程设计编号适用专业20xx级软件工程专业制订时间20xx年5月软件工程系1一课程设计目的软件测试是软件工程专业中一门重要的专业基础课主要介绍软件测...

《软件测试综合课程设计》实践教学大纲

软件测试综合课程设计实践教学大纲课程编码14011311英文名称SoftwareTestingCourseDesign课程属性方向必修编写人王鑫便开课部门适用专业学分学时审核人信息工程学院软件工程1学分计划32...

12软工《软件测试综合课程设计》教案

宁波大红鹰学院信息工程学院教案宁波大红鹰学院信息工程学院教案第1页宁波大红鹰学院信息工程学院教案第1页宁波大红鹰学院信息工程学院教案第1页宁波大红鹰学院信息工程学院教案第1页宁波大红鹰学院信息工程学院教案第1页...

模板-实用软件课程设计报告

实验报告实用软件课程设计实用软件课程设计报课程题目你的课程设计题目作者姓名指导教师学科专业所在学院信息工程学院提交日期告实验报告实用软件课程设计题目换成所选择的题目作者你的名字学号你的学号班级信息101联系方式...

软件测试课程设计报告(17篇)