《软件测试_学生管理系统_张小蒙.doc》由会员分享,可在线阅读,更多相关《软件测试_学生管理系统_张小蒙.doc(26页珍藏版)》请在三一办公上搜索。
1、目录摘要中英文1一、软件需求分析31.1系统概述31.2测试需求3二、测试概要4三、测试计划53.1测试方案的选择53.2测试方案73.3测试项目73.4测试准备73.5测试覆盖率要求7四、测试项目说明84.1测试项目名称及测试内容84.2测试用例9系统登录测试9学生管理测试10管理员考勤管理页面的测试13学生信息查询页面的测试14学生信息管理页面的测试15五、对软件功能的结论185.1功能1系统登陆195.2功能2学生管理测试195.3功能3学生信息查找页面测试195.4功能4学生信息修改页面测试195.5功能5管理员考勤管理页面测试205.6功能6管理员成绩管理页面册测试20六、测试评估与
2、结论206.1能力216.2缺陷和限制216.3建议21七、总结21八、参考资料22附录:源代码2324 / 26摘要管理信息系统正在向着网络化、智能化和集成化等趋势发展。学生成绩管理系统是为了更好的管理学生考试成绩而开发的数据管理软件。它对于一个学校是不可缺少的重要部分.它的内容对于学校的决策者和管理者来说都至关重要。学生成绩管理管理系统为用户提供充足的信息和快捷的查询手段.实现学生基本信息、成绩的录入.删除.查询.维护以及成绩的统计分析等几方面的功能.是现实问题的迫切要求。经过软件测试后我们对软件的要求基本功能满足.因为本系统是一个类似的网站.由前台于后台的管理。前台就是学生的自助查询.后
3、台就是教室师与管理员.教师可以上传学生的成绩信息。就目前的测试结果没有异常的现象出现。对于软件的运行环境与要求基本符合。在测试过程中.首先需要对各子单元过程进行测试。在各子单元过程测试完毕后再对各模块进行测试.处理好各模块之间的接口.最后对系统进行测试和维护。The management information system is developing towards the trend of network, intelligence, integration and so on. Student achievement management system is to better mana
4、ge student test scores and the development of data management software. It is an indispensable important part of a school, its content for the schools decision makers and managers are essential.Student achievement management system for users provide sufficient information and efficient means of the
5、inquiry, students basic information, performance, input, delete, query, maintenance, and statistical analysis of the results of the other aspects of the function, is the urgent requirement of the practical problems. After the software testing, we have to meet the basic requirements of the software,
6、because the system is a similar site, from the front desk in the background of the management. The front desk is the students self-service inquiry, the backstage is the classroom teacher and the manager, the teacher Can upload student achievement information. There is no exception to the current tes
7、t results. The operation environment and requirements of the software are basically in accordance with the requirements. In the testing process, we need to test the process of each sub unit. After the test of each unit process, the module is tested, and the interface between each module is processed
8、,and the system is tested and maintained.一、软件需求分析1.1系统概述学生管理系统的软件测试。熟悉学生管理系统的设计与开发过程.掌握学生管理系统设计和开发各阶段的方法.能够根据所给条件和要求.使用SQL Server实现所设计的数据库。该系统的主要功能是实现学生信息关系的系统化、规范化和自动化.以计算机为硬件基于互联网平台对学生各种信息进行日常管理.如查询、修改 、增加、删除.以及网上选课等。1.2测试需求本次测试针对开发的学生管理系统进行.包括功能测试.界面测试.学生管理测试.信息查询测试.考勤测试.学生信息修改测试.用户、管理员管理测试.学生成绩管
9、理测试。按照规格需求说明书中的功能进行测试.在测试过程中发现软件的漏洞不足并予以改正。二、测试概要测试标识符测试内容实际测试工作内容与预先设计的内容的差别系统登陆测试检查用户是否合理、合法无学生管理测试查询、添加、删除、修改学生信息无信息查询测试进行学生信息查询无考勤测试学生出勤情况无学生信息修改测试学生信息错误的修改无学生成绩管理测试添加、删除、修改学生成绩无三、测试计划3.1测试方案的选择测试的方法:在这里我们有黑盒、白盒、静态、动态、回归、单元和集成测试等方法。1.黑盒测试:黑盒测试又称功能测试或者数据驱动测试。黑盒测试是根据软件的规格对软件进行的测试.这类测试不考虑软件内部的运作原理.
10、因此软件对用户来说就像一个黑盒子。 软件测试人员以用户的角度.通过各种输入和观察软件的各种输出结果来发现软件存在的缺陷.而不关心程序具体如何实现的一种软件测试方法。2.白盒测试:白盒测试又称结构测试或者逻辑驱动测试。白盒测试是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时.需要测试软件产品的内部结构和处理过程.不需测试软件产品的功能。 白盒测试是知道产品内部工作过程.可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行.按照程序内部的结构测试程序.检验程序中的每条通路是否都有能按预定要求正确工作.而不顾它的功能.白盒测试的主要方法有逻辑驱动、基路测试等.主要用于软件验证。3
11、.静态测试:静态测试指测试不运行的部分.例如测试产品说明书.对此进行检查和审阅.。静态方法是指不运行被测程序本身.仅通过分析或检查源程序的文法、结构、过程、接口等来检查程序的正确性。静态方法通过程序静态特性的分析.找出欠缺和可疑之处.例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。静态测试结果可用于进一步的查错.并为测试用例选取提供指导4.动态测试:动态测试是指通过运行软件来检验软件的动态行为和运行结果的正确性。5.回归测试:回归测试是指在发生修改之后重新测试先前的测试以保证修改的正确性。理论上.软件产生新版本.都需要进行回归测试.验证以
12、前发现和修复的错误是否在新软件版本上再次出现。 根据修复好了的缺陷再重新进行测试。回归测试的目的在于验证以前出现过但已经修复好的缺陷不再重新出现。一般指对某已知修正的缺陷再次围绕它原来出现时的步骤重新测试。通常确定所需的再测试的范围时是比较困难的.特别当临近产品发布日期时。因为为了修正某缺陷时必需更改源代码.因而就有可能影响这部分源代码所控制的功能。所以在验证修好的缺陷时不仅要服从缺陷原来出现时的步骤重新测试.而且还要测试有可能受影响的所有功能。6.单元测试:单元测试是最微小规模的测试;以测试某个功能或代码块。典型地由程序员而非测试员来做.因为它需要知道内部程序设计和编码的细节知识。这个工作不
13、容易做好.除非应用系统有一个设计很好的体系结构; 还可能需要开发测试驱动器模块或测试套具。7.集成测试:集成测试是指一个应用系统的各个部件的联合测试.以决定他们能否在一起共同工作并没有冲突。部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。这种类型的测试尤其与客户服务器和分布式系统有关。一般集成测试以前.单元测试需要完成。 集成测试是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件.并且测试它们之间的接口。从这一层意义上讲.组件是指多个单元的集成聚合。在现实方案中.许多单元组合成组件.而这些组件又聚合成程序的更大部分。方法是测试片段的组合.并最终扩展进程.将
14、您的模块与其他组的模块一起测试。最后.将构成进程的所有模块一起测试。此外.如果程序由多个进程组成.应该成对测试它们.而不是同时测试所有进程。 集成测试识别组合单元时出现的问题。通过使用要求在组合单元前测试每个单元.并确保每个单元的生存能力的测试计划.可以知道在组合单元时所发现的任何错误很可能与单元之间的接口有关。这种方法将可能发生的情况数量减少到更简单的分析级别。测试用例的选取原则:一:测试用例必须具有代表性、典型性。二:测试用例要有浓缩性.即精要、综合。三:尽量避免含糊的测试用例。四:尽量将具有类似效果的测试用例抽象并归类。五:尽量避免冗长和复杂的测试用例。3.2测试方案采用黑盒测试方法。对
15、功能进行逐一测试.在输入合理及不合理的数据后测试系统的正常运作情况。3.3测试项目测试1:系统登录测试测试2:学生管理测试测试3:学生信息查询测试测试4:学生信息修改测试测试5:管理员考勤管理测试测试6:管理员成绩管理测是3.4测试准备计划测试项目.设计合理的测试用例。3.5测试覆盖率要求对源代码的测试覆盖率要求在这里我们争取对软件关键模块的语句覆盖率要达到100%.分支覆盖要达到85%以上。从而使系统的整体代码覆盖率能够达到87%以上。对需求的测试覆盖率要求在这里争取测试用例的执行率要在100%.即所有用例都要执行一遍.测试用例的通过率要达到95%以上。四、测试项目说明4.1测试项目名称及测
16、试内容测试1:名称:系统登录测试目的:测试系统操作界面 内容:帐号口令输入、合理性检查、合法性检查.系统操作界面显示控制。测试2: 名称:学生管理测试 目的:测试学生表操作功能 内容:学生管理界面显示控制.所有学生浏览.增加学生信息.删除学生信息.编辑学生信息。测试3: 名称:学生信息查询测试 目的:测试学生信息查询功能 内容:输入查询关键字.进行学生信息查询.管理员可查询学生信息及相关身份信息。测试4: 名称:学生信息修改测试 目的:测试学生信息修改的功能 内容:系统管理.创建学生.删除学生.修改学生.更改口令等。测试5: 名称:管理员考勤管理测试 目的:测试管理员考勤功能 内容:管理员查看
17、出勤状况.找到所要学生的到课率。测试6:名称:管理员成绩管理测试 目的:测试成绩管理功能 内容:成绩的添加、删除、修改等操作.对学生的成绩进行管理。4.2测试用例4.2.1系统登录测试该测试的目的是保证登陆主页面的正确性与在错误发生时的容错与纠错性。 具体通过在登陆框中输入空用户名.和错误的用户名来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。测试计划执行情况在登陆界面中输入空用户名或密码后系统将给出以下提示:数据库如下:所有注册的用户信息在登陆界面中输入错误的用户名或密码后系统将给出以下提示:4.2.2学生管理测试该测试的目的是保证在添加、修改、删除、查询学生信息、班
18、级、课程、成绩时系统的正确性与在数据输入不正确时的容错与纠错性。具体通过输入重复的信息.空信息.错误的格式来检测添加功能的出错运行情况;通过输入空的学号.错误的格式来检测修改功能的出错运行情况;通过空的学号来检测查询功能的出错运行情况。并且要求系统在遇到这些情况时能给出正确的错误提示。测试计划执行情况a.登录成功.系统的显示如下:b.学生端登陆后.系统跳转页面如下:c.如要进行删除操作.点击删除会出现以下信息提示:d.如要进行编辑操作.点击编辑会出现以下信息提示:e如果查询课程.会出现以下信息提示:f修改密码.会出现以下信息提示:4.2.3管理员考勤管理页面的测试该测试的目的是保证在添加、修改
19、、删除、查询学生考勤信息时系统的正确性与在数据输入不正确时的容错与纠错性。具体通过输入错误的学号.空学号来检测添加功能的出错运行情况;通过输入空的、错误的学号来检测修改功能的出错运行情况;通过空的、错误的学号来检测查询功能的出错运行情况。并且要求系统在遇到这些情况时能给出正确的错误提示。测试计划执行情况a. 输入了空学号或错误的学号进行查询.将不会显示任何信息。如操作选课、退课将给出请输入学号的提示信息。b.如选择了已选过的课程将给出提示该课程已选过。c.如要进行删除操作.点击-会出现以下信息提示是否确定要删除:4.2.4学生信息查询页面的测试该测试的目的是保证查询学生信息时窗口的正确性与在数
20、据输入不正确时的容错与纠错性。具体通过在学生没有登录系统的情况下去查询个人信息来检测的出错运行情况。并且要求系统在遇到这些情况时能给出正确的错误提示。测试计划执行情况输入账号密码成功后点击确定后系统则转入登录页面:数据库如下:4.2.5学生信息管理页面的测试该测试的目的是保证管理学生信息时窗口的正确性与在数据输入不正确时的容错与纠错性。具体通过输入错误的信息来检测修改功能的出错运行情况;通过输入两个不一致的信息来检测修改功能的出错运行情况。并且要求系统在遇到这些情况时能给出正确的错误提示。测试计划执行情况学生信息修改页面如下:学生信息添加.则系统出现以下信息提示:学生成绩查看.则系统显示如下效
21、果:学生成绩修改.则系统提示如下:系统退出显示如下:五、对软件功能的结论5.1功能1系统登陆5.1.1能力在测试过程中对于选用的用例基本能过提出错误提示.变现良好。5.1.2限制在输入时如果选择了游客.则无论是否输入用户名和密码都会进入游客模块.在该功能上还有待进一步改进。5.2功能2学生管理测试5.2.1能力学生管理测试中的各项功能.包括添加学生信息、修改学生信息、删除学生信息.添加学生性别分类表现得都比较迅速。5.2.2限制对于学生信息表的数据项还应该多添加一些.这点还有待进一步改善。5.3功能3学生信息查找页面测试5.3.1能力学生查询速度较快.查询能力也较好。5.3.2限制由于数据库内
22、容较少.查询速度不能反应出软件处理的真实情况.这点还需有待验证。5.4功能4学生信息修改页面测试5.4.1能力在修改学生信息的功能上都能很快的处理。5.4.2限制由于数据库内容较少.查找、修改等速度都还不能反应出软件处理的真实情况.这点还需有待验证。5.5功能5管理员考勤管理页面测试5.5.1能力查找速度还比较快.信息也很全面。5.5.2限制最好能实现学生出勤时能保证每一次的签到功能.但需要其他设备的限制。5.6功能6管理员成绩管理页面册测试5.6.1能力对成绩的管理操作很方便.大大减少了人力物力的消耗。5.6.2限制最好能实现成绩分数出界、不合理、错误字符等自动检查。六、测试评估与结论6.1
23、能力针对现实情况.该软件能对管理模块进行相应的操作.能做到基本的登陆验证、学生信息管理的添加、删除、修改、成绩管理、管理员管理等功能.而且还增加了条码的生成和打印功能.界面简洁美观.反应速度还能令人满意。6.2缺陷和限制在登录系统中.没有对不符合要求的用户名和密码格式进行限制。在学生管理系统中.数据库中的内容还较少.不能较准确的反应出添加、删除、修改学生信息以及添加、删除、修改学生成绩信息的速度。在图书查询系统中.没有对每一位学生的详细信息进行查询.而且数据库较小。在修改学生信息和成绩管理系统中.只有管理员能实现此功能.学生不能自主进行修改。6.3建议a.增加登录时的验证规则;b.增加数据库中
24、的内容;c.增加查询时的现实信息;七、总结软件基本达到设计要求.软件功能完整.用户界面良好.错误处理正确.且能正确提示错误种类。但是在测试中也发现软件的一些不足与缺陷.比如软件在用户第一次登陆时.也就是用户刚拿到软件时.必须用预先设定好的服务器账号登陆系统才能进行其他的操作.等等一些缺陷.需要在软件进一步修改和维护时予以纠正。总的来说.软件通过测试.可以发行。通过此次实习.熟悉学生管理系统的设计、开发过程.掌握数据库设计、开发各阶段的方法.能够根据所给条件和要求.使用SQL Server实现所设计的数据库。还扎实了计算机编程的基础;增强了创新精神和超前意识;并通过不懈努力追求完美.增加了学习兴
25、趣;并增强了整体观念。八、参考资料1. 佟伟光.软件测试,人民邮电出版社.20082. 王健.软件测试员培训教材,电子工业出版社.2004 3. 朱少民.软件测试方法和技术,清华大学出版社.20054. 李幸超.实用软件测试,电子工业出版社.20065. 张海藩.软件工程导论,清华大学出版社.20086.杜文洁.软件测试教程,清华大学出版社,20087.郑人杰.常用软件工程,清华大学出版社,20088. 张京.面向对象软件工程与UML,人民邮电出版社,20089.布朗等著.软件测试原理与实践,机械工业出版社.20XX附录:源代码数据库连接:db.csusing System;using Sys
26、tem.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Data.SqlClient;namespace 教学管理.DataSource class DB SqlConnection conn; public SqlConnection CONN get return conn; public void OpenDataBase /连接数据库方法 string strconn = Data Source=ZHANGXIAOMENG;Initial
27、Catalog=教学管理;uid=sa;pwd=123456;Integrated Security=True; conn = new SqlConnection; conn.Open; public void CloseDataBase /关闭数据库方法 conn.Close; 登录代码login.csusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Tex
28、t;using System.Threading.Tasks;using System.Windows.Forms;using System.Data.SqlClient;using System.Media;namespace 教学管理 public partial class Login : Form public Login InitializeComponent; int x = SystemInformation.PrimaryMonitorMaximizedWindowSize.Width; int y = SystemInformation.PrimaryMonitorMaxim
29、izedWindowSize.Height; string verifyCode; private void Login_Load / SetDesktopBounds; /设置窗体的长宽 label1.Text = DateTime.Now.ToString; label1.ForeColor = Color.Blue; type.Items.Clear; type.Items.Add; type.Items.Add; type.Items.Add; type.Items.Add; type.SelectedIndex = 0; /加载验证码 idencode; verifyCode = i
30、dencode;/将verifyCode声明为全局的string对象.以便其它方法使用。; private void button1_Click /字符串赋值:用户名 密码 string username = name.Text.Trim; string userpwd = password.Text.Trim; string p = type.SelectedItem.ToString; string validcode=yz.Text.Trim; / label8.Text = verifyCode; / User user = new User; /user.Name = usernam
31、e; /定义数据库连接语句:服务器=. 数据库名=TelephoneMS string consqlserver = Data Source =ZHANGXIAOMENG;Initial Catalog =教学管理; Integrated Security=True; if MessageBox.Show; else if p.Equals MessageBox.Show; else /验证学生登录信息 if p.Equals if test /定义SQL查询语句:用户名 密码 string sql = select * from userLogin where name= + usernam
32、e + and password= + userpwd + ; /定义SQL Server连接对象 打开数据库 SqlConnection con = new SqlConnection; con.Open; SqlCommand com = new SqlCommand; /执行查询:提供一种读取数据库行的方式 SqlDataReader sread = com.ExecuteReader; try /如果存在用户名和密码正确数据执行进入系统操作 if sread.Read studentInfo.studentMain s = new studentInfo.studentMain; th
33、is.Hide; s.Show; else MessageBox.Show; catch throw new Exceptionmsg.ToString; finally con.Close;/关闭连接 con.Dispose;/释放连接 sread.Close;/释放资源 else MessageBox.Show; verifyCode = idencode; /验证教师登录信息 else if p.Equals if test /定义SQL查询语句:用户名 密码 string sql = select * from 教师基本信息表 where 姓名= + username + and 密码
34、= + userpwd + ; /定义SQL Server连接对象 打开数据库 SqlConnection con = new SqlConnection; con.Open; SqlCommand com = new SqlCommand; /执行查询:提供一种读取数据库行的方式 SqlDataReader sread = com.ExecuteReader; try /如果存在用户名和密码正确数据执行进入系统操作 if sread.Read teacherInfo.teacherMain t = new teacherInfo.teacherMain; this.Hide; t.Show; else MessageBox.Show; catch throw new Exceptionmsg.ToString; finally con.Close;/关闭连接 con.Dispose;/释放连接 sread.Close;/释放资源 else MessageBox.Show; verifyCode = idencode; /验证管理员登录信息 else if p.Equals