• C#毕业设计——基于C#+asp.net+sqlserver的学生成绩管理系统设计与实现(毕业论文+程序源码)——成绩管理系统


    基于C#+asp.net+sqlserver的学生成绩管理系统设计与实现(毕业论文+程序源码)

    大家好,今天给大家介绍基于C#+asp.net+sqlserver的学生成绩管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。

    文章目录:

    1、项目简介

    1. 本系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。
    2. 本系统在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家教育机构。在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。本论文主要从系统分析、系统设计、系统实施与使用等几个方面进行介绍。

    2、资源详情

    项目难度:中等难度
    适用场景:相关题目的毕业设计
    配套论文字数:24176个字42页
    包含内容:整套源码+完整毕业论文
    资源文件目录简图如下:

    请添加图片描述


    3、关键词:

    成绩管理信息系统 信息化 数据库 Asp.net

    4、毕设简介

    提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

    第一章 绪 论
    本毕业论文是以学校学生管理信息系统建设中的成绩管理系统的开发为背景,论述了管理信息系统的概念、结构及系统开发的基本原理和方法,全文共分为绪论、系统分析、概要设计、详细设计、开发总结、致谢、参考文献、附录等。

    1.1问题的提出
    省略

    1.2现有系统存在问题的分析
    省略

    1.3系统开发目标与意义
    1.3.1系统开发目标:
    本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:
    1.系统应具有实用性、可靠性和适用性,同时注意到先进性。
    2.对各个数据库进行动态管理,防止混乱。
    3.能够按照用户选择的不同的条件进行简单查询和复合查询。
    4.能够对查询结果进行分类汇总,实现报表打印。
    5.注意数据的安全性,具有数据备份和恢复的功能。
    6.方便用户的操作,尽量减少用户的操作。

    1.4可行性分析
    可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决。

    1.4.1 经济上可行性:
    省略

    1.4.2技术上可行性:
    本系统的开发利用Microsoft SQL Server作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。

    使用Visual Studion.net作为系统开发的开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。

    综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。

    1.4.3运行上可行性:
    本系统为一个小型的学生信息管理系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。

    第二章 需求分析
    省略

    2.1 教育系统学生管理现状分析
    2.1.1 学校工作流程分析
    学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。

    新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护。

    在每个学期开始,教务处根据班级的情况,以班为单位,为每个班级安排一个班主任及对此年级安排一个年级组长。并对各科老师进行安排。

    每举行一次考试后由任课老师对成绩进行录入。班主任对本班的成绩汇总。并进行排名,然后年级组长再进行汇总,并对本年级各科成绩及总成绩进行排名。

    教务处、年级组长、班主任及任课老师跟据实际情况对录入的成绩进行维护,各位同学对以上录入的信息可以跟据自己的需要进行适当的查询。

    2.1.2 学校具体需求分析
    学生:对各科成绩的查询及查看本班成绩排名等情况。
    任课老师:输入并维护所教科目的学生成绩,计算本科的成绩排名、本科成绩在班上的排名。
    输出本班科目的成绩及排名情况。
    班主任:输入并维护本班的基本信息,对本班的各科成绩汇总,计算各科成绩的总分,排名,本班平均分等需求。
    输出学生的基本信息,各科的成绩及各科成绩的部分,各科成绩的排名,总分的排名情况。
    教务处: 学校全体成员的信息管理,对考试科目,时间及对所考科目的编号等进行具体的管理,并对任课老师,班主任等输入的信息进行存库,对学生的信息进行必要的维护,可打印学生的所有信息。

    2.1.3 系统设计思想
    1、 采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。
    2、 系统就满足学校的需求,例如学生信息的录入、查询、更新等。学生录入与排名。
    3、 系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。

    2.1.4 系统设计分析
    本系统适用于中小学校,其功能主要分为六大类:
    用户管理:用于对用户的添加,赋于不同权限及对用户的修改及查询。
    课程管理:用于对各学期课程的开设和修改。
    成绩管理:用于对成绩的输入、修改、汇总及排名。
    学生信息管理:添加,删除,修改学生信息等。
    授课信息管理: 对授课教师,课程号,学时数,班级等信息的添加,维护等。
    学生信息查询: 对学生成绩等信息的查询,查询方式为模糊,且具有多条件组合查询功能。
    学生成绩统计: 统计本科的总分,平均分等信息。
    本系统性能力求易于使用,具体有较高的扩展性和可维护性。

    2.1.5 系统功能分析
    权限功能:系统具有动态的权限分配功能,可按用户权限对用户进行分组。可分为普通用户,一般用户,超级用户。普通用户只是查询不能修改,一般用户只能对授权范围内进行相应修改及删除,超级用户能修改、删除所有信息。
    录入功能:为一般用户提供相应的录入功能,为超级用户提供对所有信息的录入功能。
    查询功能:为所有用户提供查询的功能,可查询允许范围内的所有信息。
    维护功能:为一般用户提供查询及相应的修改,删除功能,为超级用户提供对所有信息的修改删除功能。
    退出功能:结束并关闭系统。

    2.1.6 学生学籍系统的目标
    节约资源,提高学籍信息的精确度
    本系统能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理。大节省了学校能源。并且计算机的存储与快速查询功能大大提高了学籍管理的效率,并且还提高了学籍信息管理的精确度。
    方便快速操作,精减人员,节约开支
    方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。为学校增加了财富。

    数据库分析
    用户需求具体有学籍管理系统提供保存、更新、查询、维护和打印,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。

    2.2 基于B/S结构技术的应用
    2.2.1 B/S结构技术发展简述
    省略

    2.2.2 动态网站开发技术比较
    省略

    2.2.3 本系统的开发采用Asp.Net
    Asp.net之三层WEB结构及其优点
    三层模式是在两层模式的基础上,增加了新的一级。这种模式在逻辑上将应用功能分为三层:客户显示层、业务逻辑层、数据层。客户显示层是为客户提供应用服务的图形界面,有助于用户理解和高效的定位应用服务,负责处理用户的输入和向用户的输出,但并不负责解释其含义(出于效率的考虑,它可能在向上传输用户输入前进行合法性验证),这一层通常用前端工具(VB,VC,ASP等)开发;业务逻辑层位于显示层和数据层之间,专门为实现企业的业务逻辑提供了一个明确的层次,在这个层次封装了与系统关联的应用模型,并把用户表示层和数据库代码分开 。其主要功能是执行应用策略和封装应用模式,并将封装的模式呈现给客户应用程序,它是上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成SQL语句检索或更新数据库,并把结果返回给客户端,这一层通常以动态链接库的形式存在并注册到服务器的注册簿(Registry)中,它与客户端通讯的接口符合某一特定的组件标准(如COM,CORBA),可以用任何支持这种标准的工具开发;数据层是三层模式中最底层,他用来定义、维护、访问和更新数据并管理和满足应用服务对数据的请求。

    三层模式的主要优点为 :
      ①良好的灵活性和可扩展性。对于环境和应用条件经常变动的情况,只要对应用层实施相应的改变,就能够达到目的。
      ②可共享性。单个应用服务器可以为处于不同平台的客户应用程序提供服务,在很大程度上节省了开发时间和资金投入;
      ③较好的安全性。在这种结构中,客户应用程序不能直接访问数据,应用服务器不仅可控制哪些数据被改变和被访问,而且还可控制数据的改变和访问方式 。
      ④增强了企业对象的重复可用性。“企业对象”是指封装了企业逻辑程序代码,能够执行特定功能的对象。随着组件技术的发展,这种可重用的组件模式越来越为软件开发所接受。
      ⑤三层模式成为真正意义上的“瘦客户端”,从而具备了很高的稳定性、延展性和执行校率。
      ⑥三层模式可以将服务集中在一起管理,统一服务于客户端,从而具备了良好的容错能力和负载平衡能力。

    ASP.Net的运用可以轻松地使用近年流行的三层结构模式开发WEB站点或基于B/S结构的应用程序。它可以使程序具有更好的扩展性,灵活性,安全性,平台无关性以及可维护性。ASP.Net的三层结构开发方法思想与Java类似:Java中的三层架构为前端的HTML,JSP,Serverlet,中间层为JavaBean,EJB,后面为数据器库服务器。而在ASP.Net中,前端为HTML,asp,aspx等,中间层为扩展名是.vb,.cs等文件编译而成的.dll控件,后面为数据库服务器。
    多层结构的应用正是在对C/S 结构的总结基础上产生的,并且也已经扩展到了B/S应用开发领域。
    学生成绩管理信息系统是由 Web后台进行统一管理,所有业务逻辑都集中在Web应用程序中管理和制定,具有数据的录入和查询统计等功能,客户端的分布广泛,数据集中处理,因此在设计时充分考虑各种体系结构的优缺点,选择三层WEB模式进行开发实现。

    2.2.4 面向对象的开发过程
    省略

    2.2.5 开发工具的选择
    (1)在开发工具上,我选择Visual Studio .NET。Visual Studio .NET 是一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic .NET、Visual C++ .NET、Visual C# .NET 和 Visual J# .NET 全都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。

    Visual Studio .NET 是用于快速生成企业级 ASP.NET Web 应用程序和高性能桌面应用程序的工具。Visual Studio 包含基于组件的开发工具(如 Visual C#、Visual J#、Visual Basic 和 Visual C++),以及许多用于简化基于小组的解决方案的设计、开发和部署的其他技术。 
     
    Visual Studio 支持 Microsoft .NET Framework,该框架提供公共语言运行库和统一编程类;ASP.NET 使用这些组件来创建 ASP.NET Web 应用程序和 XML Web services。

    (2)ASP.net不仅仅是 Active Server Page (ASP) 的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供许多比现在的Web开发模式强大的的优势。

    2.2.6 数据库系统选择
    本系统将采用Microsoft SQL Server作为系统的DBMS支撑,SQL Server是能够支持企业级关系型数据库的管理系统,它能与Windows操作系统紧密集成,具有方便易用的图形管理界面,其用户界面风格与Windows一样非常友好。SQL Server在存储大容量数据方面,在数据的安全性和完整性方面,在分布式处理等都是适合于企业级应用的。而其相对Oracle,DB/2等大型数据库来说,学习更为容易,应用成本也相对较低。采用SQL Server + ASP.Net开发本系统是一个较为理想的组合。

    2.2.7 开发方法的选择
    省略

    2.2.8 开发本系统的意义
    省略

    2.2.9 本文档编写目的
    省略

    2.2.10 定义
    省略

    第三章 学生成绩管理系统概要设计
    3.1系统设计图例说明
     本系统流程图基本图形元素如下所示:

    在这里插入图片描述

     程序逻辑结构描述图例
    在这里插入图片描述

    (1) 顺序结构:一个命令接一个地执行;
    (2) 选择结构:(或IF-THEN-ELSE)当一个决定有多种不同执行结果时;
    (3) 循环结构:只要条件成立就一直执行.

    3.2 系统设计业务目标(业务逻辑层)
    3.2.1系统设计目标概述
    成绩管理信息系统的业务总体目标是建立一个先进、高效、安全、可靠的能被有效和应用于学生成绩管理的信息化数据库管理系统。该系统基于B/S结构,即采用浏览器/服务器模式,服务器端由运行ASP.Net的Web应用程序及运行Microsoft SQL Server2000的数据库服务器组成,客户端可以Internet Explorer,FireFox访问系统。本信息系统体现了学生成绩管理的业务逻辑行为、大大简化了相关工作的烦琐流程,同时为管理层提供有力的决策支持。

    3.2.2 用户(角色)
    本系统用户角色主要有两类:系统管理员与普通用户。其中系统管理员可进行用户管理。普通用户可分为学生,老师,教务处等用户。
    系统管理员:可进行用户管理,组权限分配,信息查询等工作。
    教师:可进行学生信息管理,课程信息管理,成绩管理,授课信息管理,信息查询,成绩统计等工作。
    学生:可进行成绩查询等操作。

    3.2.3 假定
    假定分为用户假定和系统环境假定。
    用户假定:系统管理员及普通用户假定,即假定为具有一定的计算机操作基础,能熟练使用各种网络软件以及Windows操作系统、Internet Explorer浏览器等。
    环境假定:系统运行环境假定为可建行万维网信息平台的搭建,如:互联网网络接入,Web服务器架设。

    管理功能结构图:
    在这里插入图片描述

    教师功能结构图:
    在这里插入图片描述

    学生功能结构图:

    在这里插入图片描述

    3.3 技术总体目标
    3.3.1系统技术性能要求
    省略

    3.3.2 精度
    省略

    3.3.3 数据管理能力要求
    省略

    3.3.4 时间特性要求
    省略

    3.3.5 故障处理要求
    省略

    3.3.6 UI要求设计要求
    UI设计是系统具有良好的易用性的一个重要因素,基于本系统的特殊应用范围考虑,本系统的UI设计主要从两个方面去考虑:一是功能,二是风格。
    针对页面功能上的要求是:应具有可方便检索,浏览站内信息,具备良好的导航性;
    针对页面风格上的要求是:体现美观、简约、现代、友好易用等设计元素。
    因此,本系统UI设计应该遵循以下几个原则:
    浏览界面友好,美观,大方
    栏目内风格统一,让访问者能快速熟悉网站的设计结构,信息显示一目了然
    风格简约,突出功能与重点
    易用性强,便于操作与查找相关内容
    良好的伸缩性,易于在将来的运营过程中增减模块或内容
    站点结构清晰科学,便于管理维护

    第四章 学生成绩管理系统详细
    4.1 系统结构
    本系统从功能上划分可分为以下几大模块:功能模块管理,组权限管理,学生信息管理,课程信息管理,学生成绩管理,授课信息管理,学生信息查询,学生成绩统计等几大模块。以下将对各子模块进行说明。
    功能模块管理:将系统功能模块保存到数据库中以便于动态地进行不同用户组权限的分配等操作。本模块包括功能模块的添加,删除,修改等。
    组权限管理:对用户进行分组,并将权限设置到不同的用户组。
    学生信息管理模块:输入学生基本信息,并可以对学生信息进行添加、查询、修改、删除。还可以关键字查询并从数据库里调出的学生基本信息.输出学生基本信息,学号、班号、姓名查询的信息结果。
    课程信息管理:设置课程号,课程名,先修课等课程信息。
    成绩信息管理模块:输入成绩信息,并可以对成绩信息进行添加、查询、修改、删除。还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。输出查询的学生成绩信息。
    授课信息管理:对教师授课信息的调度,安排等信息的管理。
    学生信息查询:本模块是可对学生成绩进行查询,可按学号,姓名,年龄,所在院系,入学年份等不同条件独立查询或进行模糊查询。
    学生成绩统计:对学生成绩总分,平均分等进行统计。

    系统模块图:

    在这里插入图片描述

    4.2 程序逻辑
    模块功能实现的算法流程图:
    4.2.1系统E-R图:

    在这里插入图片描述

    4.2.2查询模块流程图

    在这里插入图片描述

    4.2.3 维护模块流程图

    在这里插入图片描述

    4.2.4系统维护模块流程图

    在这里插入图片描述

    4.3 用户/管理员登入系统设计
    (1) 功能概述
    本系统采用Forms登录认证,具体设置可由配置文件win.config来进行,配置代码段见下:
    在这里插入图片描述

    此外,由于系统使用环境属于具有高安全要求的空警管理应用领域,因为对于无论是管理员还是普通队员用户的个人认证信息都将采用加密算法。在本系统里应用的是流行的MD5加密算法来存储密码文件。
    加密采用系统中自带的算法,此方法存在于.net中的名字空间System.Web.Security下。系统在添加用户/管理员或者用户/管理员登录时都需要用到此方法,可如此使用:
    System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(string password,string passwordformat)。
    (2) 程序流程图

    在这里插入图片描述

    4.4 创建数据库
    省略

    4.5 数据库表逻辑结构设计
    4.5.1 数据库表介绍
    在数据库中创建表也有两种方法,一是通过企业管理器中直接添加;二是用查询分析器的脚本命令添加。在企业管理器的GradeSys数据库中右键单击“表”节点,在弹出的快捷菜单中选择“创建新表”命令,然后就进入设计表结构界面,进行相关的设计了。
    本系统定义的数据库中包含以下7个表:学生信息表,AdminGroup,AdminUrl,Admin,成绩表,授课表,课程表等。下面介绍这些表的结构。
    学生信息表:用于保存学生的学号,姓名,性别,年龄,所在院系,班级名,入学年份等信息.
    AdminGroup表:用于保存系统用户组信息,权限,组说明等信息
    AdminUrl表:用于保存系统功能模块信息,包括模块URL,模块名,说明等.
    Admin表:用于保存系统用户及管理员信息.包括组别,登录用户名,密码等.
    成绩表:用于保存学生成绩信息,包括学号,课程号,成绩等字段.
    授课表:用于保存教师授课信息.包括教师名,课程号,学时数,班级名等.
    课程表:用户保存课程信息,包括课程名,课程号,先修课等信息.
    4.5.2 数据库表结构及设计
    在这里插入图片描述
    在这里插入图片描述

    4.5.3 数据库库的创建
    省略

    4.7 主要求程序设计说明
    4.7.1 管理用户登录模块
    登录模块图示如下:
    在这里插入图片描述

    4.7.2 类设计说明
    类设计是基于OO的设计方法,采用三层体系结构方式,如下图所示:
    在这里插入图片描述

    4.7.3 管理功能模块设计
    管理功能模块的实现是将系统里的各个功能模块类(具体是有.cs文件生成类,对于具有前台页面的文件由.aspx表现在浏览器中)组织保存到数据库中,由此来进行系统功能的动态添加,并且这是对用户进行权限分组的一个前提。
    (1) 取得系统功能模块信息并绑定到DataGrid控件上。

    	string sql = string.Empty;
    	sql = string.Format("select * from AdminUrl");
    	SqlDataAdapter da = new SqlDataAdapter(sql,conn);
    	DataSet ds = new DataSet();
    	try
    	{
    		da.Fill(ds,"t");
    		this.DataGrid1.DataSource = ds.Tables["t"];
    		this.DataGrid1.DataBind();
    	}
    	catch
    	{}		
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    取得功能模块信息后,将对功能模块的删除编辑等操作绑定到aspx页面上.

    (2) 功能模块管理前台页面代码如下所示:

    在这里插入图片描述

    第五章 学生成绩管理系统系统测试
    5.1. 概述
    随着web应用的增多,新的模式解决方案中以web为核心的应用也越来越多,很多公司各种应用的架构都以B/S及web应用为主,但是有关WEB测试方面的内容并没有相应的总结,因此,在开发空警管理系统时,对web应用程序的测试方法和采用的测试技术进行总结。测试方法尽量涵盖web程序的各个方面,测试技术方面在继承传统测试技术的技术上结合web应用的特点。
    5.2 测试方法
    5.2.1 界面测试
    很多人认为这是测试中最不重要的部分,但是恰恰相反界面测试是相当重要的确。
    方法上可以根据设计文档,然后根据这个可以页面人员可以生成静态的HTML,CSS等甚至生成几套不用的方案来进行。
    主要包括以下几个方面的内容:
    站点地图和导航条位置、是否合理、是否可以导航等内容布局布局是否合理,是否正确背景/色调是否正确、美观,是否符合用户需求;
    页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确)表单样式大小,格式,是否对提交数据进行验证(如果在页面部分进行验证的话)等连接连接的形式,位置,是否易于理解等。
    web测试的主要页面元素
    页面元素的容错性列表、页面元素清单、页面元素的容错性是否存在、页面元素的容错性是否正确、页面元素基本功能是否实现、页面元素的外形、页面元素是否显示正确。注:页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、列表框、超连接、输入框等等)
    测试技术
    结合兼容性测试对不用分辨率下页面显示效果,如果有影响则提出解决方案。可以结合数据定义文档查看表单项的内容,长度等信息。界面测试要素:
    符合标准和规范,灵活性,正确性,直观性,舒适性,实用性,一致性

    5.2.2 功能测试
    对功能测试是测试中的重点,主要包括一下几个方面的内容:
    连接这个连接和界面测试中的连接不同那里注重的是连接方式和位置,如是图像还是文字放置的位置等,还是其他的方式。这里的连接注重功能。如是否有连接,连接的是否是说明的位置等。
    表单提交应当模拟用户提交,验证是否完成功能,如注册信息,要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息。还有数据正确性验证,异常处理等,最好结合易用性要求等。B/S结构实现的功能可能主要的就在这里,提交数据,处理数据等如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量。
    白盒测试技术(White Box Testing) 深入到代码一级的测试,使用这种技术发现问题最早,效果也是最好的。该技术主要的特征是测试对象进入了代码内部,根据开发人员对代码和对程序的熟悉程度,对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。
    黑盒测试技术(Black Box Testing)黑盒测试的内容主要有以下几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,根据软件需求,设计文档,模拟客户场景随系统进行实际的测试,这种测试技术是使用最多的测试技术涵盖了测试的方方面面,可以考虑以下方面:
    正确性 (Correctness)、可用性 (Usability)、边界条件 (Boundary Condition)、
    性能 (Performance)
    压力测试 (Stress) 多用户情况可以考虑使用压力测试工具,建议将压力和性能测试结合起来进行.如果有负载平衡的话还要在服务器端打开监测工具,查看服务器CPU使用率,内存占用情况,如果有必要可以模拟大量数据输入,对硬盘的影响等等信息.如果有必要的话必须进行性能优化(软硬件都可以).这里的压力测试针对的是某几项功能.

    错误恢复 (Error Recovery) 错误处理,页面数据验证,包括突然间断电,输入脏数据等.
    安全性测试(Security)这个领域正在研究中,不过防火墙,补丁包.杀毒软件等的就不必说了,不过可以考虑破坏性测试时任意.
    兼容性 (Compatibility) 不同浏览器,不同应用程序版本在实现功能时的表现,不同的上网方式,如果你测试的是一个公共网站的话.

    5.2.3 功能测试边界测试\越界测试技术详述
    边界条件
    边界条件是指软件计划的操作界限所在的边缘条件.
    如果软件测试问题包含确定的边界,那么数据类型可能是:
    数值速度字符地址位置尺寸数量
    同时,考虑这些类型的下述特征:
    第一个/最后一个最小值/最大值
    开始/完成超过/在内
    空/满最短/最长
    最慢/最快最早/最迟
    最大/最小最高/最低
    相邻/最远
    越界测试
    通常是简单加1或者很小的数(对于最大值)和减少1或者很小的数(对于最小值),例如:
    第一个减1/最后一个加1
    开始减1/完成加1
    空了再减/满了再加
    慢上加慢/快上加快
    最大数加1/最小数减1
    最小值减1/最大值加1
    刚好超过/刚好在内
    短了再短/长了再长
    早了更早/晚了更晚
    最高加1/最低减1
    另一些该注意的输入:默认,空白,空值,零值和无;非法,错误,不正确和垃圾数据.
    5.2.4 状态测试技术
    软件可能进入的每一种独立状态;
    从一种状态转入另一种状态所需的输入和条件;
    进入或退出某种状态时的设置条件及输入结果.
    具体测试方法可以参考如下:
    每种状态至少访问一次;
    测试看起来最常见最普遍的状态转换;
    测试状态之间最不常用的分支
    测试所有错误状态及其返回值
    测试随机状态转换
    5.2.5 竞争条件测试技术
    竞争条件典型情形参考如下:
    两个不同的程序同时保存或打开同一个文档
    共享同一台打印机,通信端口或者其他外围设备
    当软件处于读取或者修改状态时按键或者单击鼠标
    同时关闭或者启动软件的多个实例
    同时使用不同的程序访问一个共同数据库
    5.2.6 负载\压力测试(StressTest)
    在这里的负载\压力和功能测试中的不同,他是系统测试的内容,是基本功能已经通过后进行的.可以在集成测试阶段,亦可以在系统测试阶段进行.
    使用负载测试工具进行,虚拟一定数量的用户看一看系统的表现,是否满足定义中的指标.
    负载测试一般使用工具完成,loadrunner,webload,was,ewl,e-test等,主要的内容都是编写出测试脚本,脚本中一般包括用户一般常用的功能,然后运行,得出报告。所以负载测试包括的主要内容就不介绍了。
    无论什么工具基本的技术都是利用线程技术模仿和虚拟用户,在这里主要的难点在与测试脚本的编写,每种工具使用的脚本都不一样,但是大多数工具都提供录制功能就算是不会编码的测试人员同样可以测试。
    对负载工具的延伸使用可以进行系统稳定性测试,系统极限测试,如使用100的Load Size连续使用24小时,微软定义的通过准则是通过72小时测试的程序一般不会出现稳定性的问题。

    5.3 不同的测试技术区分
    5.3.1 覆盖测试技术
    说明:测试覆盖率可以看出测试的完成度,在测试分析报告中可以作为量化指标的依据,测试覆盖率越高效果越好。
    覆盖测试可以是程序代码的执行路径覆盖,亦可以是功能实现的步骤覆盖(可以理解成流程图的路径覆盖)。
    该技术可以用在任何测试阶段,包括单元测坏死、集成测试、系统测试。
    使用该技术时可以使用以上的任何测试方法和测试技术。
    5.3.2 白盒测试和黑盒测试技术
    白盒测试技术 (White Box Testing)该技术主要的特征是测试对象进入了代码内部,根据开发人员对代码和对程序的熟悉程度,对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。这一阶段测试以软件开发人员为主,使用Xunit系列工具进行测试,可以包括很多方面如功能性能等。
    黑盒测试 (Black Box Testing)测试的主体部分黑盒测试的内容主要有以下几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,包括的不同测试类型请参考以上内容。
    5.3.3 手工测试和自动化测试
    手工测试(Manual Testing):即依靠人力来查找Bug。方法可以参考上边的测试,也可以根据对实现技术及经验等进行不同的测试。
    自动测试(Automation Testing)使用有针对工具实行。可以作出自动化测试的计划,对可以进行自动化测试的部分编写或者录制相应的脚本,可以加入功能,容错,表单提交等,可以参考MI,Rational或者其他类测试工具说明.
    根据权威的软件测试经验,手工测试还是主要的测试方法,自动测试不够灵活,在这里不再详述。微软的测试过程80%还是手工完成。
    自动测试永远也代替不了手工测试,但是手工测试的工作量很大是不争的事实。
    由于测试环境操作系统,网络环境,带宽等情况可能产生的测试结果可能不同这是就需要经验以及对测试环境的保护等方面下一些功夫。
    5.4 软件缺陷的原则
    软件缺陷区别于软件bug,它是在测试过程中出现的对系统有影响的,但是在设计中没有的或者对修改后的bug测试和开发人员有不同意见等软件未达到产品说明书标明的功能。
    软件出现了产品说明书指明不会出现的错误。
    软件功能超出产品说明书指明范围。
    软件未达到产品说明书虽未指出但应达到的目标。
    软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。

    第七章 开发技巧和难点
    本系统开发的技术难点主要有两个方面:一是否业务逻辑的理解;二是数据库逻辑结构的设计。业务逻辑是依据空警管理系统的行业特点及其特殊的应用领域需要来进行设计的。只有在准确不理解一个系统的业务逻辑之后才可能开发出适应其应用的应用系统来,并且在系统之间模块的科学划分与结构组织都是在正确不理解实际应用的业务逻辑需求的前提下完成的.

    数据库设计是应用系统开发的另一个难点,只有科学的数据库设计才能使系统具有良好的结构及良好的可编程性,可扩展性.数据库设计是直接影响系统运行情况及程序设计的一个重要因素.因此,在开发相关数据库方面的管理系统时,都需要充分考虑到科学性,结构性,规范性,安全性,可扩展等相关问题.

    第九章 结束语
    省略

    致谢:
    省略

    附录
    参考文献
    (1) <>ASP.NET UNLEASHED Second Edition
    [美]Stephen Walther 著 汤涛 译
    中国电力出版社

    (2)<>
    美)罗宾逊,(美)内格尔 著 李敏波 翻译 | Simon Robinson Christian Nagel
    清华大学出版社

    (3)<>
    [美] 麦斯科 颜炯 译
    中国电力出版社

    (4)<<单元测试之道C#版——使用Nunit>>Pragmatic Unit Testing in C# with NUnit
    Andrew Hunt,David Thomas | (美)托马斯 等著,陈伟桩 陶文 译
    电子工业出版社

    (5)<>
    张蒲生 何升
    清华大学出版社

    (6)<>
    启明工作室 编
    人民邮电出版社

    (7)<<.NET性能优化 >>
    (澳)维恩霍尔特 著 田松茂,谢君英 译
    清华大学出版社


    5、资源下载

    本项目源码及完整论文如下,有需要的朋友可以点击进行下载

  • 相关阅读:
    Git版本控制管理——diff
    网络时代下的声音之路:如何在中央新闻媒体发布网评稿
    持续集成部署-k8s-数据持久化-NFS安装与使用
    微信小程序+Springboot实现宠物医院管理系统
    漏洞复现--中远麒麟堡垒机SQL注入
    工控网络协议模糊测试:用peach对modbus协议进行模糊测试
    Java连接redis报错timed out问题解决
    基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的自动驾驶目标检测系统详解(深度学习+Python代码+PySide6界面+训练数据集)
    设计模式六大原则
    DDR2 IP核调式记录2
  • 原文地址:https://blog.csdn.net/m0_66238867/article/details/125998211