3509何永杰.docx
- 文档编号:9342906
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:10
- 大小:82.94KB
3509何永杰.docx
《3509何永杰.docx》由会员分享,可在线阅读,更多相关《3509何永杰.docx(10页珍藏版)》请在冰豆网上搜索。
3509何永杰
软
件
测
试
技
术
班级:
12软工2班
学号:
201235020209
姓名:
何永杰
周次:
第九周
上机时间:
星期三第3、4节
一、上机目的:
●掌握白盒测试中的基于函数级别的各种测试方法。
二、上机内容:
1、不按班级,按小组的顺序排座位,一组的成员尽量坐在一块,分组情况和位置尽量保持连贯性;
2、参考和理解第6章第1、2节的内容,根据本小组之前选的或开发好的系统,经过充分的讨论后,每人选择一个方法或函数,进行白盒测试;
3、要求每人分别完成静态评审(如代码走读、同行评审等)、判定测试、路径测试(进行路径的抽取)、循环测试和变量测试与修正;
4、小组管理员召会小组会议,对测试内容进行分析与总结;
5、在上机文档中要写清楚整个系统的公共内容和自己在项目中完成的任务,其他人员的测试用例设计的内容无需放入。
注意,只提交一个Word文档。
三、上机结果:
1、附每一个上机内容的关键截图;
解:
被测函数或方法进行白盒测试附录在本文档后面,本人选择一个方法进行白盒测试,以及完成静态评审(如代码走读、同行评审等)、判定测试、路径测试(进行路径的抽取)、循环测试和变量测试与修正;对测试内容进行分析和总结。
4.上机心得:
主要写感想和这次上机过程的情况。
这次的上机感觉到很大的压力,因为随着课程的进度以及学习的深度,越来越多的知识需要我们去学习,需要我们不断的去做练习、做上机题目,以达到能够踏入测试课程的入门门槛。
这次上机的题目,对应书本的知识来对本人系统的项目源代码进行一个白盒测试,在这次的上机我学到了较多的知识。
比如在代码的测试中,我就可以对代码进行一个布局。
以达到那中易于测试的目标。
1.1企业人事管理系统实践
通过使用不同的白盒测试方法展开测试。
1.1.1被测代码说明
根据问题描述,企业人事管理系统采用C#语言开发,具体代码如下:
classMyMeans
{
#region全局变量
publicstaticstringLogin_ID="";//定义全局变量,记录当前登录的用户编号
publicstaticstringLogin_Name="";//定义全局变量,记录当前登录的用户名
publicstaticstringMean_SQL="",Mean_Table="",Mean_Field="";//定义全局变量,记录“基础信息”各窗体中的表名及SQL语句
publicstaticSqlConnectionMy_con;//定义一个SqlConnection类型的公共变量My_con,用于判断数据库是否连接成功
publicstaticstringM_str_sqlcon="DataSource=mrwxk\\wangxiaoke;Database=db_PWMS;Userid=sa;PWD=";
publicstaticintLogin_n=0;//用户登录与重新登录的标识
publicstaticstringAllSql="Select*fromtb_Stuffbusic";//存储职工基本信息表中的SQL语句
//publicstaticintres=0;
#endregion
#region建立数据库连接
///
///建立数据库连接.
///
///
publicstaticSqlConnectiongetcon()
{
My_con=newSqlConnection(M_str_sqlcon);//用SqlConnection对象与指定的数据库相连接
My_con.Open();//打开数据库连接
returnMy_con;//返回SqlConnection对象的信息
}
#endregion
#region测试数据库是否赋加
///
///测试数据库是否赋加
///
publicvoidcon_open()
{
getcon();
//con_close();
}
#endregion
#region关闭数据库连接
///
///关闭于数据库的连接.
///
publicvoidcon_close()
{
if(My_con.State==ConnectionState.Open)//判断是否打开与数据库的连接
{
My_con.Close();//关闭数据库的连接
My_con.Dispose();//释放My_con变量的所有空间
}
}
#endregion
#region读取指定表中的信息
///
///读取指定表中的信息.
///
///
///
publicSqlDataReadergetcom(stringSQLstr)
{
getcon();//打开与数据库的连接
SqlCommandMy_com=My_con.CreateCommand();//创建一个SqlCommand对象,用于执行SQL语句
My_com.CommandText=SQLstr;//获取指定的SQL语句
SqlDataReaderMy_read=My_com.ExecuteReader();//执行SQL语名句,生成一个SqlDataReader对象
returnMy_read;
}
#endregion
#region执行SqlCommand命令
///
///执行SqlCommand
///
///
publicvoidgetsqlcom(stringSQLstr)
{
getcon();//打开与数据库的连接
SqlCommandSQLcom=newSqlCommand(SQLstr,My_con);//创建一个SqlCommand对象,用于执行SQL语句
SQLcom.ExecuteNonQuery();//执行SQL语句
SQLcom.Dispose();//释放所有空间
con_close();//调用con_close()方法,关闭与数据库的连接
}
#endregion
#region创建DataSet对象
///
///创建一个DataSet对象
///
///
///
///
publicDataSetgetDataSet(stringSQLstr,stringtableName)
{
getcon();//打开与数据库的连接
SqlDataAdapterSQLda=newSqlDataAdapter(SQLstr,My_con);//创建一个SqlDataAdapter对象,并获取指定数据表的信息
DataSetMy_DataSet=newDataSet();//创建DataSet对象
SQLda.Fill(My_DataSet,tableName);//通过SqlDataAdapter对象的Fill()方法,将数据表信息添加到DataSet对象中
con_close();//关闭数据库的连接
returnMy_DataSet;//返回DataSet对象的信息
//WritePrivateProfileString(stringsection,stringkey,stringval,stringfilePath);
}
#endregion
}
}
从代码来看,classMyMeans是连接数据库并且将数据写入和查询的功能,重点在于该功能的测试。
1.1.2测试分析
测试工作包括如下几个方面:
1.静态测试。
阅读PWMS.DataClass内的源代码,检查是否存在明显缺陷,以及结构是否存在修改或优化的必要。
2.要采用适当的覆盖指标(如判定覆盖、路径覆盖等),设计测试用例,执行动态白盒测试。
3.选择重要的变量进行静态数据流的检查。
补充不要的测试。
1.1.3测试用例设计
1、对DataClass内的函数测试
1.代码走读
从代码来看,在DataClass方法中都是对数据库进行连接以及读取数据库中的数据,例如SqlDataReadergetcom(stringSQLstr)这一个函数是创建数据库的连接并且执行指定的SQL语句,而这函数中可以附加string类型的SQL语句去执行相应的连接数据库功能。
而getDataSet(stringSQLstr,stringtableName)这个函数则是获取数据库的数据表单的信息并且将获取到的数据表单提取出来进行输出。
从程序结构来看,整个函数是有顺序关系的,首先要执行getsqlcom(stringSQLstr)函数然后才进行getDataSet(stringSQLstr,stringtableName)函数,而在测试中是使用多种获取不同表单的方法去测试。
2.对连接数据库的测试
被测代码:
publicvoidcon_close()
{
if(My_con.State==ConnectionState.Open)//判断是否打开与数据库的连接
{
My_con.Close();//关闭数据库的连接
My_con.Dispose();//释放My_con变量的所有空间
}
}
#endregion
#region读取指定表中的信息
数据库连接流程图
此段代码只包含一个简单的判定条件,仅是判定当前进入读取数据操作之前是否已经连接了数据库,但数据库处于关闭状态是则返回一个false的值,若是开启状态则关闭数据库并且释放变量之前使用的所有资源空间。
1 对路径的测试
con_close()方法的程序图如下:
每条路径至少设计一个测设用例,但是该方法的程序图非常简单,执行路径很容易明白。
其中有一个分支则是判断释放连接数据库的,若连接了则执行3路径的程序,最终都是到7结束进程
2 对执行语句的测试
在SQL语句中分别输入select,insert查询与增加的SQL语句去观看显示结果。
1.2分析
从上述测试中可以得出当选择条件语句比较单一的时候在测试方面就会相对快捷,而在语句测试当中则需要查看显示结果才可知道当前的状态,当代码较为复杂且存在大量非结构化设计时,为了确保关键变量的正确赋值,才需要展开数据流的测试。
本人选择的代码较为简单,易于明白,所以没有选择更加深入的设计进行挖掘。
1.3总结
企业人事管理系统输入的条件更多,对输入条件的取值要求更为严格,输出结果与输入条件的关联更为紧密。
就测试而言,当源代码较长时,可采用独立测试的思想,将源代码中较为独立的结构化设计代码段抽取出来,单独设计测试用例,然后对整个代码设计测试用例,这样得到的测试不容易出错。
对于像上述的代码那样较为简单易懂,条件层次分明,易于测试,不需要采用独立测试的思想,也不需要太多的测试设计方法。
相反,简单的代码采用很多的测试设计,反而降低了系统测试的效率。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 3509