软件工程(测试报告)(全文)_软件工程软件测试报告
软件工程(测试报告)(全文)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“软件工程软件测试报告”。
《软件工程》课程设计报告
系统测试报告
课程设计题目:毕业生管理信息系统
项目负责人:引言 1.1 编写目的在开发大型软件的漫长过程中,面对极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺。因此,在软件生命周期的每个阶段都不可避免地会产生差错。尤其对于毕业生管理信息系统这类会影响学生工作的工程软件,必须尽量减少差错,以免造成严重的损失。测试是“为了发现程序中的错误而执行程序的过程”。测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明.设计和编码的最后复审,也是必不可少的关键步骤。1.2 背景
开发软件名称:毕业生管理信息系统 项目任务提出者:学校 项目开发者: 定义
SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS)。
SQL: 一种用于访问查询数据库的语言
事务流:数据进入模块后可能有多种路径进行处理。主键:数据库表中的关键域。值互不相同。外部主键:数据库表中与其他表主键关联的域。ROLLBACK: 数据库的错误恢复机制。
1.3 参考资料
软件需求工程 JAVA程序设计使用教程 2 测试概要
2.1 需求概述
学校为方便毕业生,需开发一个毕业生管理信息系统。为便于学生输入及查询个人及毕业信息,要求:毕业生基本信息维护,毕业生就业信息维护,毕业生就业情况查询(不确定查询);按专业划分的就业情况统计,用户管理(含用户权限的设置)。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求系统的界面要单明了,易于操作,服务器程序利于维护。2.2 条件与限制
必须在保证各硬件设备.软件系统齐备的情况下,资金充足,人员齐备,各方面互相配合,齐心协力,共同完成。3 测试过程及发现
3.1测试方案
测试方案是测试阶段的关键技术问题。为了提高测试效率降低测试成本,本测试方案采用黑盒法设计基本的测试方案,用黑盒法注重于测试软件的功能需求,主要试图发现下列几类错误:功能不对或遗漏;性能错误;初始化和终止错误;界面错误;数据结构或外埠数据库访问错误。
黑盒测试法常用的测试方法包括等价分析类法、边值分析法、错误推测法、因果图法、正交实验设计法、判定表驱动法、功能测试等。但是没有一种方法能提供一组完整的测试用例,以检查程序的全部功能,因此在实际测试中需要把各种方法结合起来使用。
3.2测试项目 用户登录测试 信息输入测试 信息输出测试 服务器(数据库)测试 系统测试 3.3测试准备
在测试前,与各模块的主要负责人共同协商讨论,以概要设计说明书.详细设计说明书作为总的提纲,选择合适的输入输出数据,并加以意义列举说明。4.测试有关说明
4.1 测试名称及内容
在测试过程中,首先需要对各子单元过程进行测试。在各子单元过程测试完毕后,再对系统进行测试和维护。
各子模块测试名称如下: 用户登录测试 信息输入测试 信息输出测试 服务器(数据库)测试 系统测试 4.2 测试用例
登录过程:用户登录,首先检验输入合法性,然后调用数据库操作,确定用户权限,根据权限执行不同操作 publicUserAdd(){
add(new JLabel(“用户名”));jTextFiledusername=new JTextField(16);add(jTextFiledusername);add(new JLabel(“密码”));jPaword1=new JPawordField(16);jPaword1.setEchoChar('■');add(jPaword1);add(new JLabel(“确认密码”));jPaword2=new JPawordField(16);jPaword2.setEchoChar('■');add(jPaword2);add(new JLabel(“登录权限”));String Item[]={“————请选择————”,“毕业生”,“老师
”,“管理员”};
jComboBoxPower=new JComboBox(Item);add(jComboBoxPower);JButtonjButtonOK=new JButton(“确定”);add(jButtonOK);JButtonjButtonCancel=new JButton(“取消”);add(jButtonCancel);毕业生基本信息输入:输入格式要正确,而且基本信息不能为空,毕业生编号不能重复。publicReaderAdd(){
add(new JLabel(“学号”));jTextFieldStuNum=new JTextField(16);add(jTextFieldStuNum);add(new JLabel(“姓名”));jTextFieldStuName=new JTextField(16);add(jTextFieldStuName);add(new JLabel(“性别”));String Sex[]={“————请选择————”,“男”,“女”};jComboBoxSex=newJComboBox(Sex);add(jComboBoxSex);add(new JLabel(“名族”));jTextFieldStuNumee=new JTextField(16);
add(jTextFieldStuNumee);add(new JLabel(“籍贯”));jTextFieldStuNumee1=newJTextField(16);add(jTextFieldStuNumee1);add(new JLabel(“院系”));String Department[]={“————请选择————”,“计算机与通信工程系”,“数学系”,“中文系”,“音乐系”,“物理系”,“美术系”,“外语系”,“体育系”,“化工系”,“食工系”};
jComboBoxDepartment=new JComboBox(Department);add(jComboBoxDepartment);add(new JLabel(“班级”));jTextFieldCla=new JTextField(16);add(jTextFieldCla);毕业生就业信息输入:
jTextFieldBookName=new JTextField(16);
add(jTextFieldBookName);add(new JLabel(“编号”));
jTextFiledAuthor=new JTextField(16);add(jTextFiledAuthor);add(new JLabel(“职务”));jTextFiledPrice=new JTextField(16);add(jTextFiledPrice);
add(new JLabel(“工作单位”));jTextFiledPre=new JTextField(16);add(jTextFiledPre);add(new JLabel(“工作性质”));jTextFiledAddre=new JTextField(16);add(jTextFiledAddre);add(new JLabel(“就业时间”));year=new JSpinner();year.setValue(now.get(Calendar.YEAR));month=new JComboBox(mothArray);dayArray[0]=“日”;
毕业生基本信息及就业信息查询:
publicReaderUpdate(add(new JLabel(“提示:输入学号按“查询”定位要修改的记录”));
add(new JLabel(“学号”));jTextFieldStuNum=new JTextField(16);add(jTextFieldStuNum);add(new JLabel(“姓名”));jTextFieldStuName=new JTextField(16);add(jTextFieldStuName);add(new JLabel(“性别”));
String Sex[]={“————请选择————”,“男”,“女”};jComboBoxSex=new JComboBox(Sex);add(jComboBoxSex);add(new JLabel(“民族”));jTextFieldStuNumee=new JTextField(16);add(jTextFieldStuNum);add(new JLabel(“籍贯”));jTextFieldStuNumee1=new JTextField(16);add(jTextFieldStuNum);add(new JLabel(“院系”));String Department[]={“————请选择————”,“计算机与通信工程系”,“数学系”,“中文系”,“音乐系”,“物理系”,“美术系”,“外语系”,“体育系”,“化工系”,“食工系”};
jComboBoxDepartment=new JComboBox(Department);add(jComboBoxDepartment);add(new JLabel(“班级”));jTextFieldCla=new JTextField(16);add(jTextFieldCla);JPanel Panel1=new JPanel();
Panel1.setLayout(new FlowLayout(FlowLayout.CENTER,22,0));JButtonjButtonOK=new JButton(“查询”);Panel1.add(jButtonOK);publicBookUpdate(){ add(new JLabel(“提示:输入毕业生姓名按“查询”定位要修改的记录”));
add(new JLabel(“毕业生姓名”));jTextFieldBookName=new JTextField(16);add(jTextFieldBookName);add(new JLabel(“编号”));jTextFiledAuthor=new JTextField(16);add(jTextFiledAuthor);add(new JLabel(“职务”));jTextFiledPrice=new JTextField(16);add(jTextFiledPrice);add(new JLabel(“工作单位”));jTextFiledPre=new JTextField(16);add(jTextFiledPre);add(new JLabel(“工作性质”));jTextFiledAddre=new JTextField(16);add(jTextFiledAddre);
add(new JLabel(“就业时间”));year=new JSpinner();year.setValue(now.get(Calendar.YEAR));
month=new JComboBox(mothArray);dayArray[0]=“日”;5 对软件功能的结论
5.1 能力
可以将用户划分为不同角色,进而在使用此软件时拥有不同的权限,比如最大的权限用户管理员的权限,可以对毕业生基本信息和就业信息进行修改或书写操作,又可以对系统管理、划分和维护,而且,对数据库维护和更新。而毕业生只能对基本信息进行修改及就业信息的查询。5.2 限制
管理员的权限是此能力的最大限制,一旦管理员的帐号或密码丢失,则整个系统将静止,无法在实现任何更新,所以,应将管理员的权限在扩大,或是先备份,搜显示对数据库的备份。以预防系统被侵入或数据丢失 6 测试摘要
7测试总结
整个测试过程是验证上述功能,其结果与预测并无太大差异,基本功能要求均已实现,但是,这与要求之间存在一定差距,但这个差距对于整个功能和系统的实现已无很大的区别。且运行环境在不断变化时,系统与数据库的连接会出现一定的错误。但这些错误都在控制范围之内,所以,影响并不是很大。但是在不是开发环境的机器上运行时,一定要注意其数据库的连接,否则也无法正常运行。8改进建议
1.需要不断增设系统权限的设置,并完善系统的角色划分。这样可以使系统的数据库管理更加完善。
2.不断搜索数据库,查看潜在在数据侵入危险,实现一定的数据过滤功能,增加系统的安全措施,使系统安全管理更加健全。
3.各项维护的人员定为其开发人员,因为开法人员最熟悉整个功能的数据和设计结构,方便维护。9 测试结果
经过对系统各方面的测试,包括对其功能的测试和数据测试,各方面均已达到客户要求,可以交付使用