软件测试-学生管理系统软件测试用例

合集下载

软件测试用例范文

软件测试用例范文

软件测试用例范文全文共四篇示例,供读者参考第一篇示例:软件测试用例是软件测试过程中非常重要的一环,它用于描述对软件系统进行测试的情况、步骤和条件。

软件测试用例可以帮助测试人员确定在不同情况下软件系统的性能是否符合要求,发现潜在的缺陷并确保软件质量。

一份优秀的软件测试用例需要具备清晰的目标、详细的步骤、准确的预期结果和良好的可重复性。

下面是一份关于登录功能的软件测试用例范文:测试用例名称:登录功能测试测试目的:验证用户可以成功登录系统前提条件:用户已经在系统中注册账号测试步骤:1. 打开系统登录页面2. 输入正确的用户名和密码3. 点击“登录”按钮预期结果:1. 用户成功登录系统2. 系统显示用户个人信息页面3. 用户可以正常使用系统功能用例覆盖范围:该测试用例覆盖了登录功能的基本操作,包括输入账号、密码和点击登录按钮等操作。

在编写软件测试用例时,需要考虑系统的功能模块、用户需求和系统设计等因素。

测试用例要尽可能覆盖系统各个功能点,保证测试的全面性和准确性。

除了基本的功能测试用例外,还可以编写一些边界测试用例、异常情况测试用例和性能测试用例等,以更全面地评估软件系统的性能和稳定性。

软件测试用例的编写是软件测试工作中非常关键的一部分,它直接影响到测试结果的准确性和软件质量的提高。

通过编写高质量的测试用例,可以有效地发现和解决软件系统中的缺陷,减少系统风险,并提高用户体验和满意度。

【字数已达要求,建议补充内容】第二篇示例:软件测试用例是软件测试中的重要组成部分,它是在软件开发过程中用于验证软件功能是否符合设计要求的一种测试方法。

软件测试用例作为软件测试活动的基础,其质量和有效性直接影响软件测试的效果和成本。

在软件测试中,测试用例旨在检测软件的错误和缺陷,以确保软件质量,提高软件可靠性和稳定性。

软件测试用例的编写需要遵循一定的规范和原则,以确保测试用例的全面性和有效性。

一般来说,软件测试用例可以分为详细测试用例和冗余测试用例。

学生管理系统软件测报告试

学生管理系统软件测报告试

软件测试报告小组成员:指导老师:概述:测试目的:验证我们做的学生管理系统的代码是否符合设计。

测试环境:硬件环境,仅针对测试对象的硬件及其版本信息加以说明。

测试人员:测试方法:我们根据我们所敲的代码,通过几个方面做出了以下测试:一:静态测试:(1).代码检查法:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class mainframe extends JFrame implements ActionListener{static mainframe s;static JPanel pan=new JPanel();static JLabel label1 = new JLabel("用户");static JLabel label2 = new JLabel("密码");static JTextField textField1 = new JTextField();static JPasswordField password = new JPasswordField();static JButton button1 = new JButton("进入系统");static JButton button2 = new JButton("信息注册");static JRadioButton radioButton1=new JRadioButton("管理员",true);//“管理员”初始状态被选中ButtonGroup buttonGroup=new ButtonGroup();public mainframe(){JLabel label=new JLabel(new ImageIcon("图片44.jpg"));label.setSize(400,400);pan.add(label);pan.setLayout(null);pan.setSize(400,300);this.setTitle("学籍管理系统");this.setSize(400,300);this.setLayout(null);label1.setBounds(100,25,49,20);textField1.setBounds(155,24,120,20);label2.setBounds(100,62,49,20);password.setBounds(155,61,120,20);button1.setBounds(150,150,101,22);button2.setBounds(150,200,101,22);radioButton1.setBounds(105,120,80,20);button1.addActionListener(this);buttonGroup.add(radioButton1);this.add(radioButton1);this.add(label1);this.add(label2);this.add(textField1);this.add(password);this.add(button1);this.add(button2);this.add(pan);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}public static void main(String[] args){new mainframe();}public void actionPerformed(ActionEvent e){if(radioButton1.isSelected())//管理员{if(textField1.getText().equals("shilifeng") &&password.getText().equals("yinzheran123")){interfac b=new interfac();this.dispose();//JOptionPane.showMessageDialog(null,"登陆成功");}else if("".equals(textField1.getText()) || "".equals(password.getText()) ){ JOptionPane.showMessageDialog(null,"用户名或密码不能为空");}else{JOptionPane.showMessageDialog(null,"用户名或密码输入有误");}}}}我们根据这段代码进行测试:代码一眼看上去很完美,而且条理清楚,让人通俗易懂,但是也存在部分问题。

软件测试 学生管理系统软件测试用例

软件测试 学生管理系统软件测试用例

学生管理系统软件测试用例测试用例测试用例软件测试就是软件开发时期的最后一个阶段,也就是软件质量与可靠性保证中至关重要的一个环节。

软件测试的基本任务就是通过在计算机上执行程序,暴露出程序潜在的错误,以便进行纠错,从而保证程序的可靠运行,降低软件的风险。

测试用例:所谓测试用例,就就是意发现错误为目的而精心设计的一组测试数据。

测试一个程序,需要数量足够的一组测试用例,用数据词典的表示方法表示,可以写成:测试用例={输入数据+输出数据}这个就是式子还表明,每一个完整的测试用例不仅包含有被测程序的输入数据,而且还包括用这组数据执行被测数据之后的预期的输出结果。

每次测试,都要把实测的结果与期望结果做比较,若不相符,就表明程序可能存在错误。

白盒测试就就是根据源代码进行测试的,用白盒测试涉及测试用例 ,有两种测试用例,有两种常用技术:逻辑覆盖法测试用例,基本路径法测试用例。

黑盒测试就就是根据被测程序功能来进行测试,所以也称为功能测试。

用黑盒法涉及测试用例,有四种常用技术;等价分类法,边界值分析法,决策表法、错误推测法与因果图法。

整个测试基于需求文档,瞧就是否能满足需求文档中所有需求。

黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,适用于对系统的功能进行测试。

黑盒测试黑盒测试概念:被称为功能测试或数据驱动测试。

在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构与内部特性的情况下进行。

采用黑盒测试的目的主要就是在已知软件产品所应具有的功能的基础上,进行: (1)检查程序功能能否按需求规格说明书的规定正常使用,测试各个功能就是否有遗漏,检测性能等特性要求就是否满足。

(2)检测人机交互就是否错误,检测数据结构或外部数据库访问就是否错误,程序就是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性。

(3)检测程序初始化与终止方面的错误。

1测试任务黑盒测试的方法:1 )等价类划分法:就是把所有可能的输入数据,即程序的输入域划分为若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。

学生成绩管理系统测试用例

学生成绩管理系统测试用例

预期结果 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过
实际结果 不通过 不通过 不通过 不通过 不通过 不通过 不通过 不通过 不通过 不通过 不通过 不通过 通过 通过 通过
是否通过 否 否 否 否 否 否 否 否 否 否 否 否 是 是 是
用例 ID TC001 TC002 TC003 TC004
Stu5465464 通过
Stu211456 通过
Studgfhd 通过
Stu85456 通过
实际结果 不通过 不通过 不通过 不通过 不通过 不通过 不通过 不通过 不通过 不通过
是否通过 否 否 否 否 否 否 否 否 否 否
TC011 TC012 TC013 TC014 TC015 TC016 TC017 TC018 TC019
姓名
预期结果
小小
通过
小王
通过
Sdf
通过
Asdfj212654 通过
Asdfa789 通过
美美
通过
红红
通过
丽丽
通过
莉莉
通过
王二小
通过
实际结果 不通过 不通过 不通过 不通过 不通过 不通过 不通过 不通过 不通过 不通过
是否通过 否 否 否 否 否 否 否 否 否 否
TC011 TC012 TC013 TC014 TC015 TC016 TC017 TC018 TC019
Stu5646
通过
Stu123456 通过
Stu0147
通过
Stu878901 通过
Stu012364 通过
stst0000001 通过
stst0000002 通过

学生成绩管理系统的黑盒测试

学生成绩管理系统的黑盒测试

学生成绩管理系统的黑盒测试实验3 “学生成绩管理系统”的黑盒测试一、实验目的:通过实验全面掌握黑盒测试技术,能够根据实际项目灵活运用黑盒测试技术设计测试用例。

二、实验内容及要求使用黑盒测试技术对“学生成绩管理系统”进行测试,设计测试用例,查找系统缺陷,形成测试用例表和缺陷列表,具体格式如下所示。

三、说明:测试用例表中失败的用例编号用红色表示,成功的用绿色表示。

学生成绩管理系统测试用例表1测试用例编号01测试模块一至五任意一班测试标题添加学生信息测试目的学生信息是否能够正确添加软件、硬件需求Intel(R)Core(TM)2 DuoCPUE6550@2.33Ghz 1.00GB 的内存测试用例表2加记录”按钮,课程分数依次填写,其他信息正确填写。

点击“确定”按钮能够正确添加。

3.查看总成绩平均成绩是否实时更新后置条件无期待结果总成绩、平均成绩能够随着添加记录而变化实际结果总成绩、平均成绩能够正确更新成功用例成功/失败测试执行李阳人测试用例表303测试用例编号测试模块一至五任意一班测试标题添加学生信息测试目的学生信息是否能够正确添加测试用例表4Microsoft Windows7前置条件选择“一至五任意一班”步骤1启动程序2.选择一至五任意一班,点击“显示”按钮,点击“增加记录”按钮,在成绩框中输入特殊字符“-”号,其他信息正确填写。

点击“确定”按钮能够正确添加后置条件无期待结果提示在成绩框中不可以输入字符“-”实际结果添加学生信息时,成绩字段,可以输入特殊字符“-”失败用例成功/失败测试执行李阳人测试用例表5测试用例05后置条件无期待结果重新添加刚删除的记录号能够进行自动排序实际结果重新添加刚删除的记录号自动追加不按学号排序用例成功/失败失败测试执行人李阳测试用例表6测试用例编号06测试模块一至五任意一班测试标题删除记录测试目的是否能够逐条删除或一次选中多条进行删除软件、硬件需求Intel(R)Core(TM)2 DuoCPUE6550@2.33Ghz 1.00GB 的内存160.0GB硬盘测试用例表7后置条件无期待结果平均成绩随着要更新的数据自动更新,其余保持不变实际结果修改数学成绩时英语的平均分会随之改变,其余随操作自动更新用例成功/失败失败测试执行人李阳测试用例表8测试用例编号08测试模块一至五任意一班测试标题查询学生信息测试目的能否在首次查询结果上进行第二次查询软件、硬件需求Intel(R)Core(TM)2 DuoCPUE6550@2.33Ghz 1.00GB 的内存测试用例表9步骤1启动程序2.选择一至五任意一班,点击“显示”按钮,点击“记录中任意列名”在界面上用小三角标识出当前排序字段和升/降序后置条件无期待结果能在界面上用小三角标识出当前排序字段和升/降序实际结果能在界面上用小三角标识出当前排序字段和升/降序成功用例成功/失败测试执行李阳人测试用例表1010测试用例编号测试模块年级成绩测试标题全年级人数测试目的全年级人数是否依据记录数测试用例表11步骤1启动程序2.选择参数设置与库操作,点击“设置优秀分数线”下拉按钮,设置优秀分数线为90。

软件测试设计报告案例学生管理系统

软件测试设计报告案例学生管理系统

学生实验报告册2012——2013学年第2学期实验名称:软件测试学院:班级:学号:姓名:指导教师:对《学生成绩管理系统》软件的测试用例设计班级:计算机一班测试人员:测试时间:2013/4/17目录1.导言 (1)1.1 目的 (1)1.2 范围 (1)1.3 缩写说明 (1)1.4 术语定义 (1)1.5 引用标准 (2)1.6 参考资料 (2)2.测试设计 (2)2.1 测试范围 (2)2.2 测试覆盖设计 (3)3.测试用例 (3)3.1 用例一:登录页面的测试 (3)3.2 用例二:添加用户管理的测试 (5)3.3 用例三:新建系统角色管理的测试 (7)3.4 用例四:专业设置管理模块的测试 (8)3.5 用例五:班级信息管理模块的测试 (11)3.6 用例六:学生学籍信息管理的测试 (14)1.导言1.1 目的该文档的目的是描述《学生成绩管理系统》软件的测试设计其主要内容包括:●测试总体设计●测试用例设计1.2 范围该文档为《学生成绩管理系统》的系统测试设计,其中主要以黑盒测试为主,白盒测试为辅,为测试人员进行功能测试提供标准和依据,以及详尽的测试步骤和方法。

1.3 缩写说明ASPActive Server Pages(动态服务器页面)。

BTBlack_box Testing(黑盒测试)的缩写。

1.4 术语定义功能性测试是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。

黑盒测试(又称为功能测试、数据驱动测试和基于规格说明的测试),它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。

测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

1.5 引用标准[1] 《企业文档格式标准》北京长江软件有限公司[2] 《软件测试设计报告格式标准》北京长江软件有限公司软件工程过程化组织1.6 参考资料[1] 《软件测试技术概论》古乐史九林编著/清华大学出版社[2] 基于C#的Windows应用程序设计(第一版)微软公司/高等教育出版社2.测试设计由于本次测试主要是以黑盒测试为主,白盒测试为辅,包括功能测试和性能测试的技术,功能测试主要以本人测试为主,数据量大的时候邀请同学一起测试,性能测试在不同计算机上进行测试,以验证系统的性能。

学生管理系统测试--软件测试论文

学生管理系统测试--软件测试论文

学生管理系统测试--软件测试论文天津农学院计算机科学与信息工程系《软件测试与产品发布》教学实习报告实习名称:学生管理系统的分析与设计专业:软件工程班级:2009级软件2班学号:0908054204姓名:王通指导教师:吴凯成绩:2011年12月目录1教学实习的内容 (3)2教学实习的目的 (3)3教学实习设计介绍 (3)3.1设计题目 (3)3.2设计目标 (3)3.3设计背景 (3)3.4系统测试的环境 (4)3.5系统的主要功能 (4)3.6系统开发与调试过程 (4)3.7技术要点介绍 (4)3.7.1系统登录页面的测试 (4)3.7.2管理员成绩管理页面的测试 (5)3.7.3管理员考勤管理页面的测试 (8)3.7.4学生信息查询页面的测试 (9)3.7.5学生信息修改页面的测试 (9)4总结与体会 (11)1教学实习的内容学生管理系统的软件测试。

熟悉学生管理系统的设计与开发过程,掌握学生管理系统设计和开发各阶段的方法,能够根据所给条件和要求,使用SQL Server 实现所设计的数据库。

2教学实习的目的完成《软件测试与产品发布》理论知识学习后,通过本次教学实习,对所学专业知识进一步消化、理解并系统化,锻炼和提高综合运用所学知识解决实际问题的能力。

通过此次实习,熟悉学生管理系统的设计、开发过程,掌握数据库设计、开发各阶段的方法,能够根据所给条件和要求,使用SQL Server实现所设计的数据库。

还可以使学生扎实计算机编程的基础;增强创新精神和超前意识;让学生通过不懈努力追求完美,促进学生学习兴趣;并增强整体观念。

3教学实习设计介绍3.1设计题目学生管理系统的分析与设计。

3.2设计目标(1)测试是为了发现程序中的错误而执行程序的过程。

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。

(3)成功的测试方案时发现了至今为止尚未发现的错误的测试。

3.3设计背景随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。

学生成绩管理系统的黑盒测试.

学生成绩管理系统的黑盒测试.

实验3 “学生成绩管理系统”的黑盒测试
一、实验目的:
通过实验全面掌握黑盒测试技术,能够根据实际项目灵活运用黑盒测试技术设计测试用例。

二、实验内容及要求
使用黑盒测试技术对“学生成绩管理系统”进行测试,设计测试用例,查找系统缺陷,形成测试用例表和缺陷列表,具体格式如下所示。

三、说明:测试用例表中失败的用例编号用红色表示,成功的用绿色表示。

学生成绩管理系统
测试用例表1
测试用例表2
测试用例表3
测试用例表4
测试用例表5
测试用例表6
测试用例表7
测试用例表8
测试用例表9
测试用例表10
测试用例表11
测试用例表12
测试用例表13
学生成绩管理系统
缺陷列表
严重等级说明:
S 1 系统崩溃
S2 主业务流程出现断点
S3 功能模块无法实现、
S4 功能实现,但不完善
S5 建议性。

软件工程 学生管理系统 实验报告

软件工程 学生管理系统 实验报告

软件工程学生管理系统实验报告1. 引言学生管理系统是一种常见的软件应用程序,用于在学校或教育机构中管理学生的信息和相关任务。

本实验旨在设计和开发一个简单的学生管理系统,并使用软件工程的方法进行需求分析、设计、编码和测试。

2. 需求分析在进行系统设计之前,我们首先对需求进行分析。

学生管理系统应具备以下功能: - 学生信息维护:包括学生的基本信息(姓名、学号、性别等)以及其他详细信息(联系方式、家庭住址等); - 成绩管理:记录学生的考试成绩,并提供成绩统计功能; - 课程管理:管理学生的选课和退课操作; - 学生出勤记录:记录学生的课堂出勤情况。

3. 设计基于需求分析,我们设计了以下系统结构: - 用户界面(UI):提供用户与系统进行交互的界面,包括菜单、表单等;- 控制层(Controller):处理用户请求,调用逻辑层进行相应的处理; - 逻辑层(Service):实现系统的业务逻辑,包括学生信息管理、成绩管理、课程管理和出勤记录管理等; - 数据访问层(DAO):负责与数据库进行交互,对数据进行增删改查操作。

4. 编码在实际开发过程中,我们使用Java编程语言进行开发,并采用了Spring Boot框架、MyBatis框架和MySQL数据库。

具体的编码过程包括以下几个步骤: 1. 创建项目:使用Spring Initializr创建一个新的Spring Boot项目; 2. 定义实体类:定义学生、成绩、课程和出勤记录等实体类,并使用注解标注属性和关联关系; 3. 实现控制层:编写Controller类,处理用户请求,并调用逻辑层进行相应的处理; 4. 实现逻辑层:编写Service类,实现系统的业务逻辑; 5. 实现数据访问层:编写DAO类,使用MyBatis框架对数据库进行操作; 6. 配置数据库连接:在application.properties文件中配置数据库连接信息; 7. 测试和调试:使用JUnit等工具进行单元测试,并调试程序,保证系统的正常运行。

软件测试-学生管理系统软件测试用例

软件测试-学生管理系统软件测试用例

学生管理系统软件测试用例测试用例测试用例软件测试是软件开发时期的最后一个阶段,也是软件质量和可靠性保证中至关重要的一个环节。

软件测试的基本任务是通过在计算机上执行程序,暴露出程序潜在的错误,以便进行纠错,从而保证程序的可靠运行,降低软件的风险。

测试用例:所谓测试用例,就是意发现错误为目的而精心设计的一组测试数据。

测试一个程序,需要数量足够的一组测试用例,用数据词典的表示方法表示,可以写成:测试用例={输入数据+输出数据}这个是式子还表明,每一个完整的测试用例不仅包含有被测程序的输入数据,而且还包括用这组数据执行被测数据之后的预期的输出结果。

每次测试,都要把实测的结果与期望结果做比较,若不相符,就表明程序可能存在错误。

白盒测试就是根据源代码进行测试的,用白盒测试涉及测试用例,有两种测试用例,有两种常用技术:逻辑覆盖法测试用例,基本路径法测试用例。

黑盒测试就是根据被测程序功能来进行测试,所以也称为功能测试。

用黑盒法涉及测试用例,有四种常用技术;等价分类法,边界值分析法,决策表法、错误推测法和因果图法。

整个测试基于需求文档,看是否能满足需求文档中所有需求。

黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,适用于对系统的功能进行测试。

黑盒测试黑盒测试概念:被称为功能测试或数据驱动测试。

在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下进行。

采用黑盒测试的目的主要是在已知软件产品所应具有的功能的基础上,进行:(1)检查程序功能能否按需求规格说明书的规定正常使用,测试各个功能是否有遗漏,检测性能等特性要求是否满足。

(2)检测人机交互是否错误,检测数据结构或外部数据库访问是否错误,程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性。

(3)检测程序初始化和终止方面的错误。

1测试任务黑盒测试的方法:1 )等价类划分法:是把所有可能的输入数据,即程序的输入域划分为若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。

学生课程成绩管理系统测试报告需求分析+概要设计+测试用例

学生课程成绩管理系统测试报告需求分析+概要设计+测试用例

《软件质量保证与测试》课程第 11 小组丁涛涛 20111081201 2011 级计2 班测试对象:保山第九中学学生课程成绩管理系统被测试人:王家静 20101081243楚雄师范学院信息科学与技术学院2014年5月1¡简介1.1目标本文档是保山第九中学学生课程成绩管理系统的软件需求规格说明书。

本文档的面向软件开发人员和软件测试人员。

软件开发人员根据该文档完成概要设计文档,测试人员根据该文档完成系统测试计划、策略和系统测试用例。

1.2范围本文档主要包括保山第九中学学生课程成绩管理系统项目所有功能,主要包括以下几个方面: 密码修改、重新登录、学生成绩管理、课程成绩管理等四个部分。

2¡总体概述2.1软件概述2.1.1项目介绍本系统的目标是开发一个操作简单、界面友好、功能齐全、能够满足各中学桌面管理系统,给管理者提供了一个在Windows操作系统上运行的管理平台,可以代替人工重复性劳动,从而节省人力财力时间资源,大大提高工作效率和质量。

2.1.2产品环境介绍该系统是一个完全独立的产品,实现项目工作任务书中规定的所有需求项目。

2.2软件功能该系统是一个信息管理,该系统开发环境:Windows 7,数据库工具:Access2010,开发语言:Visual Basic6.02.3用户特征用户需要有基本的计算机使用常识,并且了解该系统的基本功能。

该软件的用户分为两类:教师和学生,利用该系统进行成绩信息进行管理。

3¡需求分析3.1需求详述该系统的用户分为教师和学生。

教师的功能有:管理某一学生或课程的信息以及成绩,包括增、删、查、报表打印等;学生用户只能查看个人的信息以及成绩。

系统运行在Windows平台上,要求有一个较好的图形用户界面,操作要求简单。

3.2系统模块流程图该系统的模块流程图,如图3.1所示:图3.1系统流程图3.3功能需求学生课程管理系统需要完成的功能有密码修改、重新登录、学生成绩管理、课程成绩管理四个部分。

学生管理系统实验报告

学生管理系统实验报告

学生管理系统实验报告一、实验目的: 学习学生管理系统java程序编程、编写学生管理系统程序。

二、实验环境: 在软件Eclipse运行环境下运行1.实验步骤:2.在Eclipse环境中创建一个java工程, 然后创建学生管理系统类, 并在这类中编写代码。

3.调试代码, 并进行纠正。

4.检验试验结果, 查看是否符合要求。

5.得到结果。

实验内容代码:import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.JDialog;import javax.swing.JFrame;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Xsglxt extends JFrame implements ActionListener { JPanel mb1,mb2;JLabel bq1;JTextField wbk1;JButton an1,an2,an3,an4;JTable bg1;JScrollPane gd1;Xsxx xsxx2;public static void main(String[] args){Xsglxt xs=new Xsglxt();}public Xsglxt(){mb1=new JPanel();bq1=new JLabel("请输入姓名");wbk1=new JTextField(10);an1=new JButton("查询");an1.addActionListener(this);an1.setActionCommand("chaxun");mb1.add(bq1);mb1.add(wbk1);mb1.add(an1); mb2=new JPanel();an2=new JButton("添加");an2.addActionListener(this);an2.setActionCommand("tianjia");an3=new JButton("修改");an3.addActionListener(this);an3.setActionCommand("xiugai");an4=new JButton("删除");an4.addActionListener(this);an4.setActionCommand("shanchu");mb2.add(an2);mb2.add(an3);mb2.add(an4);xsxx2=new Xsxx();bg1=new JTable(xsxx2);gd1=new JScrollPane(bg1);this.add(gd1);this.add(mb1,"North");this.add(mb2,"South");this.setTitle("学生管理系统");this.setSize(500,400);this.setLocation(201,181);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("chaxun")){String xingming=this.wbk1.getText().trim();String sql="select * from xuesheng where xingming='"+xingming+"'";xsxx2=new Xsxx(sql);bg1.setModel(xsxx2);else if(e.getActionCommand().equals("tianjia")){Tianjia tj=new Tianjia(this,"添加学生信息",true);System.out.println("123456");xsxx2=new Xsxx();bg1.setModel(xsxx2);}else if(e.getActionCommand().equals("xiugai")){int ii=this.bg1.getSelectedRow();if(ii==-1){JOptionPane.showMessageDialog(this,"请选中要删除的行");return;}new Xiugai(this,"修改学生信息",true,xsxx2,ii);System.out.println("123456");xsxx2=new Xsxx();bg1.setModel(xsxx2);else if(e.getActionCommand().equals("shanchu")){int ii=this.bg1.getSelectedRow();if(ii==-1){JOptionPane.showMessageDialog(this, "请选中要删除的行");return;}String st=(String)xsxx2.getValueAt(ii,0);PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;Statement sn=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");//String xuehao=this.wbk1.getText().trim();ps=ct.prepareStatement("delete from xuesheng where xuehao=?");ps.setString(1, st);ps.executeUpdate();}catch(Exception c2){e.paramString();}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}}catch(Exception e3){}}xsxx2=new Xsxx();bg1.setModel(xsxx2);}}}import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*; import javax.swing.JDialog; import javax.swing.JFrame; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Xiugai extends JDialog implements ActionListener { JLabel bq1, bq2, bq3, bq4, bq5, bq6;JTextField wbk1, wbk2, wbk3, wbk4, wbk5, wbk6;JButton an1, an2;JPanel mb1, mb2, mb3, mb4;public Xiugai(Frame fck, String ckm, Boolean msck, Xsxx xsxx2, int hang) {super(fck, ckm, msck);bq1 = new JLabel(" 学号");bq2 = new JLabel(" 姓名");bq3 = new JLabel(" 性别");bq4 = new JLabel(" 年龄");bq5 = new JLabel(" 籍贯");bq6 = new JLabel(" 院系");wbk1 = new JTextField(5);wbk1.setText((String) xsxx2.getValueAt(hang, 0));wbk1.setEditable(false);wbk2 = new JTextField(5);wbk2.setText((String) xsxx2.getValueAt(hang, 1));wbk3 = new JTextField(5);wbk3.setText((String) xsxx2.getValueAt(hang, 2)); wbk4 = new JTextField(5);wbk4.setText((String) xsxx2.getValueAt(hang, 3)); wbk5 = new JTextField(5);wbk5.setText((String) xsxx2.getValueAt(hang, 4)); wbk6 = new JTextField(5);wbk6.setText((String) xsxx2.getValueAt(hang, 5));an1 = new JButton("修改");an1.addActionListener(this);an1.setActionCommand("tiangjia2");an2 = new JButton("取消");an2.addActionListener(this);an2.setActionCommand("quxiao");mb1 = new JPanel();mb2 = new JPanel();mb3 = new JPanel();mb4 = new JPanel();mb1.setLayout(new GridLayout(6, 1));mb2.setLayout(new GridLayout(6, 1));mb1.add(bq1);mb1.add(bq2);mb1.add(bq3);mb1.add(bq4);mb1.add(bq5);mb1.add(bq6);mb2.add(wbk1);mb2.add(wbk2);mb2.add(wbk3);mb2.add(wbk4);mb2.add(wbk5);mb2.add(wbk6);mb3.add(an1);mb3.add(an2);this.add(mb1, BorderLayout.WEST); this.add(mb2);this.add(mb3, BorderLayout.SOUTH); this.add(mb4, BorderLayout.EAST);this.setSize(370, 270);this.setLocation(401, 261);this.setResizable(false);//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("tiangjia2")){PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;Statement sm=null;System.out.println("00000000000");try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");System.out.println("1111111111");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");System.out.println("222222222222");String ss=("update xuesheng set xingming=?,xingbie=?,nianling=?,jiguan=?,yuanxi=? where xuehao='"+wbk1.getText().trim()+"'");ps=ct.prepareStatement(ss);ps.setString(1, wbk2.getText());ps.setString(2, wbk3.getText());ps.setString(3, wbk4.getText());ps.setString(4, wbk5.getText());ps.setString(5, wbk6.getText());ps.executeUpdate();this.dispose();} catch (Exception e1) {e1.printStackTrace();}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e3){}}}else if(e.getActionCommand().equals("quxiao")) {this.dispose();}}}import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.JDialog;import javax.swing.JFrame;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Xsxx extends AbstractTableModel {Vector ziduan,jilu;PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;public int getRowCount(){return this.jilu.size();}public int getColumnCount(){return this.ziduan.size();}public Object getValueAt(int hang,int lie){return (((Vector) this.jilu.get(hang)).get(lie)); }public Xsxx(){this.sqlyj("select * from xuesheng");}public Xsxx(String ss){this.sqlyj(ss);}public String getColumnName(int e)return (String)this.ziduan.get(e);}public void sqlyj(String sql){ziduan=new Vector();ziduan.add("学号");ziduan.add("姓名");ziduan.add("性别");ziduan.add("年龄");ziduan.add("籍贯");ziduan.add("所在院系");jilu=new Vector();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");ps=ct.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()){Vector hang=new Vector();hang.add(rs.getString(1));hang.add(rs.getString(2));hang.add(rs.getString(3));hang.add(rs.getString(4));hang.add(rs.getString(5));hang.add(rs.getString(6));jilu.add(hang);}}catch (Exception e){e.printStackTrace();} finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e){} }}}import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*; import javax.swing.JDialog; import javax.swing.JFrame; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Tianjia extends JDialog implements ActionListener{ JLabel bq1,bq2,bq3,bq4,bq5,bq6;JTextField wbk1,wbk2,wbk3,wbk4,wbk5,wbk6;JButton an1,an2;JPanel mb1,mb2,mb3,mb4;public Tianjia(Frame fck,String ckm,Boolean msck){super(fck,ckm,msck);bq1=new JLabel(" 学号");bq2=new JLabel(" 姓名");bq3=new JLabel(" 性别");bq4=new JLabel(" 年龄");bq5=new JLabel(" 籍贯");bq6=new JLabel(" 院系");wbk1=new JTextField(5);wbk2=new JTextField(5);wbk3=new JTextField(5);wbk4=new JTextField(5);wbk5=new JTextField(5);wbk6=new JTextField(5);an1=new JButton("添加");an1.addActionListener(this);an1.setActionCommand("tiangjia2");an2=new JButton("取消");an2.addActionListener(this);an2.setActionCommand("quxiao");mb1=new JPanel();mb2=new JPanel();mb3=new JPanel();mb4=new JPanel();mb1.setLayout(new GridLayout(6,1));mb2.setLayout(new GridLayout(6,1));mb1.add(bq1); mb1.add(bq2); mb1.add(bq3);mb1.add(bq4); mb1.add(bq5); mb1.add(bq6);mb2.add(wbk1); mb2.add(wbk2); mb2.add(wbk3);mb2.add(wbk4); mb2.add(wbk5); mb2.add(wbk6);mb3.add(an1); mb3.add(an2);this.add(mb1,BorderLayout.WEST);this.add(mb2);this.add(mb3,BorderLayout.SOUTH);this.add(mb4,BorderLayout.EAST);this.setSize(370, 270);this.setLocation(401, 281);this.setResizable(false);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("tiangjia2")){PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;Statement sm=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");String ss=("insert into xuesheng values(?,?,?,?,?,?)");ps=ct.prepareStatement(ss);ps.setString(1, wbk1.getText());ps.setString(2, wbk2.getText());ps.setString(3, wbk3.getText());ps.setString(4, wbk4.getText());ps.setString(5, wbk5.getText());ps.setString(6, wbk6.getText());ps.executeUpdate();this.dispose();} catch (Exception e2){}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e3){}}}else if(e.getActionCommand().equals("quxiao")) {this.dispose();}}}实验小结:实验原道的问题是刚开始时程序只能查询不能添加修改删除等, 经过老师指导后修改程序后, 程序就能完成各项操作了。

设计基础软件实验报告(3篇)

设计基础软件实验报告(3篇)

第1篇一、实验目的本次实验旨在通过设计基础软件,加深对软件设计原理和方法的理解,提高软件设计实践能力。

实验要求学生掌握软件需求分析、设计模型构建、设计规范遵循等基本技能,并能够运用所学知识完成一个简单的软件设计项目。

二、实验内容1. 需求分析- 明确软件功能:设计一款用于学生课程成绩管理的软件,包括成绩录入、查询、统计、导出等功能。

- 用户分析:分析软件目标用户,如教师、学生、教务管理员等。

- 功能模块划分:将软件功能划分为成绩录入、成绩查询、成绩统计、成绩导出等模块。

2. 设计模型构建- 采用UML(统一建模语言)进行软件设计,包括用例图、类图、序列图等。

- 用例图:描述软件与用户之间的交互过程,展示软件功能。

- 类图:描述软件中的类及其关系,包括类属性和方法。

- 序列图:描述软件中对象之间的交互过程,展示对象之间的消息传递。

3. 设计规范遵循- 遵循软件设计规范,如命名规范、编码规范、注释规范等。

- 确保软件设计具有良好的可读性、可维护性和可扩展性。

4. 软件设计实现- 选择合适的编程语言和开发工具,如Java、C、Python等。

- 根据设计模型,编写软件代码,实现软件功能。

- 进行单元测试,确保代码质量。

三、实验步骤1. 需求分析- 与用户沟通,了解软件需求。

- 分析需求,确定软件功能模块。

2. 设计模型构建- 使用UML工具绘制用例图、类图、序列图。

- 确定软件设计模型。

3. 设计规范遵循- 遵循软件设计规范,编写代码。

- 对代码进行注释,提高可读性。

4. 软件设计实现- 选择编程语言和开发工具。

- 根据设计模型,编写代码。

- 进行单元测试,确保代码质量。

5. 软件测试- 设计测试用例,对软件进行测试。

- 分析测试结果,修复缺陷。

四、实验结果1. 完成软件需求分析,明确软件功能。

2. 构建软件设计模型,包括用例图、类图、序列图。

3. 遵循软件设计规范,编写代码。

4. 进行单元测试,确保代码质量。

软件测试学生成绩管理系统测试报告完整版

软件测试学生成绩管理系统测试报告完整版

软件测试学生成绩管理系统测试报告HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】软件测试实训报告班级:软件测试1406班姓名:贺勇游目录第一部分学生成绩管理系统需求分析 (1)一.项目概述································ (2)二.项目背景································ (2)三.系统详细需求································ (5)第二部分学生成绩管理系统测试计划 (8)一.概述 (9)二.测试摘要 (9)三.测试风险 (10)四.缺陷等级分类和优先级描述 (10)五.测试策略 (12)六.暂停标准和再启动标准 (13)七.测试任务和进度 (14)八.测试提交物 (15)第三部分学生成绩管理系统测试用例设计 (15)一. 测试用例目的 (16)二. 功能测试用例设计····································系统登录功能模块用例设计 (16)“系统功能模块用例设计 (17)档案管理功能模块用例设计 (17)成绩管理功能模块用例设计 (18)第四部分学生成绩管理系统缺陷记录 (20)一. 说明 (21)二. 缺陷记录 (21)第五部分学生成绩管理系统总结报告 (22)一.引言 (23)二. 测试用例简介 (24)三. 测试结果及分析 (24)四. 综合评价 (24)五. 心得体会 (24)学生成绩管理系统需求分析一.项目概述软件项目名称:《生成绩管理系统》软件版本:开发团队:阿林软件设计室项目特点:《学生成绩管理系统》单机/网络版操作简单,功能齐全,适合于各中、小学校及教育局。

学生管理系统测试报告

学生管理系统测试报告

编号:001版本:0.01学生信息管理系统学生信息管理系统测试测试计划委托单位:软件工程实验室承办单位:13级0922131班编写:(签名) 2016年5 月6日复查:(签名) 2016年5 月6日批准:(签名) 2016年5 月6日第1章引言1.1综述学生学籍信息管理系统是基于数据结构的学籍管理系统。

本测试将会对学生学籍信息管理系统进行测试,测试其系统的功能性。

对学生学籍信息系统中学籍信息的录入和学籍信息的修改等进行相应的界面,功能的测试。

在进行其测试时所需人力资源为1位,所需时间要15天,所需软件为eclipse。

费用:无。

1.2参考文献表1:参考文献第2章测试项第3章2.1测试项表2:被测试项2.2不测试的软件项表3:不被测试项第3章被测试的特性表4:被测试特性第4章不被测试的特性表5:不被测试的特性第5章方法5.1边界值测试对用户名和密码输入的测试,输入条件规定了值的范围,取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。

5.2等价类划分所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例5.3因果图因果图是从用自然语言书写的程序规格说明的描述中找到因(输入条件)和果(输出或程序状态的改变),通过因果图转化为决策表。

第6章项目通过准则功能测试用例覆盖通过率100%,非功能性测试用例覆盖率达到80%。

较小缺陷:使操作者不方便或遇到麻烦,但它不影响功能的操作和执行,如个别不影响产品理解的错别字,文字排列不整齐等一些小问题,不超过5个一般缺陷:系统的次要功能没有完全实现,但不影响用户的正常使用。

例如:提示信息不太准确或用户界面差,操作时间长等一些问题。

不超过3个严重缺陷:系统主要功能部分丧失,数据不能保存,系统的次要功能完全丧失或者服务受到明显的影响不超过1个。

致命缺陷:系统任何一个主要功能完全丧失,用户数据受到破坏,系统崩溃、悬挂、死机,或者危及人身安全不超过0个。

软件测试--学生管理系统-张小蒙

软件测试--学生管理系统-张小蒙

课程设计课程名称软件测试技术题目名称学生系统软件测试专业班级2013级软件工程学生XX小蒙吴松琴伟萌蒋雪旋伟平浩学号指导教师褚伟二○一六年六月十四日学院计算机科学与技术系课程设计任务书分工协作说明学院计算机科学与技术系课程设计成绩评定表目录摘要〔中英文〕1一、软件需求分析31.1系统概述31.2测试需求3二、测试概要4三、测试方案53.1测试方案的选择53.2测试方案93.3测试工程93.4测试准备93.5测试覆盖率要求9四、测试工程说明104.1测试工程名称及测试容104.2测试用例114.2.1系统登录测试114.2.2学生管理测试134.2.3管理员考勤管理页面的测试174.2.4学生信息查询页面的测试184.2.5学生信息管理页面的测试19五、对软件功能的结论235.1功能1〔系统登陆〕245.2功能2〔学生管理测试〕245.3功能3〔学生信息查找页面测试〕24 5.4功能4〔学生信息修改页面测试〕25 5.5功能5〔管理员考勤管理页面测试〕255.6功能6〔管理员成绩管理页面册测试〕25六、测试评估与结论266.1能力266.2缺陷和限制266.3建议27七、总结27八、参考资料29附录:源代码30摘要管理信息系统正在向着网络化、智能化和集成化等趋势开展。

学生成绩管理系统是为了更好的管理学生考试成绩而开发的数据管理软件。

它对于一个学校是不可缺少的重要局部,它的容对于学校的决策者和管理者来说都至关重要。

学生成绩管理管理系统为用户提供充足的信息和快捷的查询手段,实现学生根本信息、成绩的录入,删除,查询,维护以及成绩的统计分析等几方面的功能,是现实问题的迫切要求。

经过软件测试后我们对软件的要求根本功能满足,因为本系统是一个类似的,由前台于后台的管理。

前台就是学生的自助查询,后台就是教室师与管理员,教师可以上传学生的成绩信息。

就目前的测试结果没有异常的现象出现。

对于软件的运行环境与要求根本符合。

学校教务管理系统测试用例说明书

学校教务管理系统测试用例说明书

本资料仅供内部使用!〈学生成绩管理系统〉功能测试用例2012年5月6日修改记录目录1XX(模块名称)测试用例清单 (5)1.1测试用例1 (6)1.2测试用例2 (7)一测试结果1.学生管理系统测试结果1.1二测试总结1.总体上达到用户需求,有小的细节没有达到客户需要。

2.让客户自选的条件太少,都得用户输入,不方便.3.由于用户输入,对于该系统不安全。

4.数据库内的数据太少,不易测试。

XX(模块名称)测试用例清单No:测试用例的序号。

Function ID:功能点ID号。

通常对应于需求跟踪矩阵中的功能ID。

Testcase ID:测试用例ID号。

对应于功能点ID的测试用例号。

通常一个功能点ID可以对应多个测试用例。

Testcase Description:测试用例描述。

User Type:用户类型(角色)。

说明能够操作该测试用例的系统用户类型(角色)Test Item Count:测试用例包含的测试项数目。

统计测试用例的数量时,将细化到测试项的数量。

]测试用例1返回首页返回首页测试用例2返回首页[填写说明:Test Case Descristion:测试用例描述。

Test Purpose:测试目的。

简要描述该用例的测试目的。

Precondition:前置条件。

说明在执行该测试用例之前需满足何种条件,或须先执行哪些步骤。

No:测试项或执行步骤序号。

一个测试用例中可包含多个功能点或执行步骤。

Testing item:对所测试项的描述。

]教务管理测试用例用例模板:90。

软件测试用例范文-概述说明以及解释

软件测试用例范文-概述说明以及解释

软件测试用例范文-范文模板及概述示例1:软件测试用例范文软件测试用例是测试人员在进行软件测试过程中编写的具体测试步骤和期望结果的文档。

它旨在确保软件的质量和完整性,帮助测试人员进行系统的测试和验证。

下面是一个软件测试用例的范文示例:测试用例名称:用户登录功能测试测试目的:验证用户登录功能是否正确前提条件:用户已注册并拥有登录凭证测试步骤:1. 打开软件应用程序2. 点击“登录”按钮3. 在用户名输入框中输入有效的用户名4. 在密码输入框中输入正确的密码5. 点击“登录”按钮6. 看到登录成功提示信息期望结果:1. 软件应用程序成功打开2. 点击“登录”按钮后,输入用户名和密码的输入框应该出现3. 输入有效的用户名和正确的密码后,应该能够成功登录4. 看到登录成功的提示信息测试数据:- 有效的用户名:testuser01- 正确的密码:password123测试环境:- 操作系统:Windows 10- 浏览器:Google Chrome 最新版本备注:- 如果登录失败,错误信息应该显示在合适的位置并提示给用户- 如果用户输入的用户名或密码无效,应该显示适当的错误信息- 如果用户输入的用户名和密码有效,但是系统登录出现了其他错误,应该显示适当的错误信息该测试用例是针对用户登录功能的一个简单示例。

在实际的软件测试中,还应该考虑到更多的场景和测试用例,比如测试密码错误的情况、测试输入非法字符的情况等等。

编写全面有效的测试用例可以帮助测试人员更好地发现潜在的软件缺陷,并提高软件的质量和可靠性。

示例2:尊敬的读者,以下是一个软件测试用例的范文,以帮助您撰写您的文章。

请注意,这只是一个示例,您可以根据实际情况进行修改和适应。

软件测试用例:用户登录功能测试用例1:验证用户成功登录* 用例编号:TC001* 前提条件:用户已经注册并拥有有效的用户名和密码。

* 测试步骤:1. 打开应用程序登录页面。

2. 输入正确的用户名和密码。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生管理系统软件测试用例
测试用例
测试用例
软件测试是软件开发时期的最后一个阶段,也是软件质量和可靠性保证中至关重要的一个环节。

软件测试的基本任务是通过在计算机上执行程序,暴露出程序潜在的错误,以便进行纠错,从而保证程序的可靠运行,降低软件的风险。

测试用例:
所谓测试用例,就是意发现错误为目的而精心设计的一组测试数据。

测试一个程序,需要数量足够的一组测试用例,用数据词典的表示方法表示,可以写成:测试用例={输入数据+输出数据}这个是式子还表明,每一个完整的测试用例不仅包含有被测程序的输入数据,而且还包括用这组数据执行被测数据之后的预期的输出结果。

每次测试,都要把实测的结果与期望结果做比较,若不相符,就表明程序可能存在错误。

白盒测试就是根据源代码进行测试的,用白盒测试涉及测试用例,有两种测试用例,有两种常用技术:逻辑覆盖法测试用例,基本路径法测试用例。

黑盒测试就是根据被测程序功能来进行测试,所以也称为功能测试。

用黑盒法涉及测试用例,有四种常用技术;等价分类法,边界值分析法,决策表法、错误推测法和因果图法。

整个测试基于需求文档,看是否能满足需求文档中所有需求。

黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,适用于对系统的功能进行测试。

黑盒测试
黑盒测试概念:
被称为功能测试或数据驱动测试。

在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下进行。

采用黑盒测试的目的主要是在已知软件产品所应具有的功能的基础上,进行:(1)检查程序功能能否按需求规格说明书的规定正常使用,测试各个功能是否有遗漏,检测性能等特性要求是否满足。

(2)检测人机交互是否错误,检测数据结构或外部数据库访问是否错误,程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性。

(3)检测程序初始化和终止方面的错误。

1测试任务
黑盒测试的方法:
1 )等价类划分法:是把所有可能的输入数据,即程序的输入域划分为若干部分
(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。

划分等价类可分为两种情况:
(1)有效等价类(合理等价类):符合《需求规格说明书》,合理的输入数据集合。

利用有效等价类,能够检验程序是否实现了规格说明中预先规定的功能和性能。

(2)无效等价类(不合理等价类):不符合《需求规格说明书》,无意义的输入数据集合。

利用无效等价类,可以鉴别程序异常处理的情况,检查被测对象的功能和性能的实现是否有不符合规格说明要求的地方。

2 )边界值分析法:
对输入的边界值和次边界值进行测试,这种方法在实际中通常与等价类划分法相结合。

先划分等价类,再对等价类做边界值分析。

3 )因果图法:
因果图法的定义:利用图解法分析输入的各种组合情况,从而设计测试用例,它适合于检查程序输入条件的各种组合情况。

4 )决策表法:
决策表概念:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具。

5 )错误推测法:
概念:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。

错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的
特殊情况,根据它们选择测试用例。

2 系统结构图
3.功能测试
3.1登录验证及密码的测试用例
偏差:无
测试结果:能够验证密码的合法性与正确性,系统的登陆功能正确实现。

由于本系统默认只有管理员所以不涉及到有关用户登陆的测试。

登陆界面初次使用本程序时,会提示初始密码,用户可以在登录后修改密码。

初次使用时,由于数据库为空,因此系统会提示添加学生,其中有一个选项是系统自动生成学生,该功能是为测试程序之用。

若系统检测到数据库中没有学科就会提示用户添加学科。

之后用户就可以进入完整的功能界面了。

在界面方面做了小设计。

比如当数据库中无学生信息时,界面就只有选项提示用户添加学生,之后若系统检测到数据库中无科目信息时再提示用户添加科目,如果数据库中的科目数已经达到最大允许值(本程序设置的最大科目数为200,可在宏中设置),则界面中就会屏蔽掉添加科目这一选项,即界面会随着数据库中数据的情况进行适当的调整。

3.2学生信息操作及删除测试用例
操作测试:
偏差:如图。

测试结果:不能正确识别汉语拼音,汉字,英文名字都可以,不限长度,不限民族,但由于英文的原因无法区别汉语拼音。

学生姓名测试,为便于测试程序,需要首先建立一个数据文件,同时输入大量数据,人工输入未免过于麻烦,一个模块用于随机产生数据文件,随机产生学生的姓名,学号,性别,所有科目的成绩,所有学科的学分,开课时间等.随机产生字符串时,需要抽取字符进行组合,对于随机产生姓名,其长度及字符都是随机的。

3.3学生成绩操作及科目测试用例
操作测试:
学号由十二位数字组成,学生的分数,学科的学分都为double型,因此产生随机整数乘以0.5,随机数产生时要严格控制其范围,如分数不能超过100,学分不超过
6等.(用简单的随机数生成获得成绩)。

学生成绩信息包括:
1、学号:必须有,且为12数,前4位为入学时间。

2、姓名:必须有,长度不限。

3、课程编号:必须有,系统自动编号
4、课程名:必须有,由中英文及各种字符组成,字符长度不限
5、学分:必须有,1-6之间。

6、学期:1-8之间。

4部分系统截图
5登录系统流程图
5。

相关文档
最新文档