自动出题系统毕业设计论文_第1页
自动出题系统毕业设计论文_第2页
自动出题系统毕业设计论文_第3页
自动出题系统毕业设计论文_第4页
自动出题系统毕业设计论文_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题目名称:自动出题系统学院:专业:班级:姓名:学号:指导教师:完成日期:目录一、绪论11引言11.1设计目的及课题背景12任务描述12.1目标12.2运行环境13数据描述23.1输入数据23.2输出数据24功能要求2二、需求分析21需求调查21.1组织机构调查21.2业务需求调查22功能需求32.1功能划分32.2功能描述33数据描述43.1数据描述43.2数据库描述5关系描述的设计5数据库的逻辑设计6数据库的物理设计64性能需求84.1数据精确度84.2适应性85运行需求85.1用户界面85.2硬件接口85.3基本要求8三、总体设计91总体结构和模块设计91.1功能结构91.2模块设计92、数据结构93、数据库设计93.1数据库的逻辑设计9数据库的物理设计104外部接口设计124.1用户界面12四、详细设计151程序设计15五、系统实现18六、系统测试401测试方案401.1测试原则:40测试应该“尽早地和不断地进行”。测试规模由小到大。401.2测试方法:402测试项目说明403评价.40绪论1引言一般情况教师想出一份试卷,要么到庞大的题库里一道一道的把题找出来,或是从几本相关的书里把题一道一道挑出来。这样即费时又费力,而且很难保证试题的覆盖面和把握好试卷的难度。正是为了能够帮助教师轻松的出一份高质量的试卷而开发了本软件。为了达到预期的目标我们最终选择了MicrosoftOfficeWord做为本软件的终端输出。本软件是在对现有控件的改进和C#编程的研究的基础上开发的。本软件实现了以下主要功能:1.手动生成试卷;2.学生账号管理;3.题库管理;4.考试管理;5.数据库管理。大量的测试表明本软件在Windows98/me/2000/XP平台配合OfficeXP/2003的环境下程序运行稳定且各项功能运行得都很正确,基本达到了预期的要求!!结论:经过老师的实际试用本软件在界面上和功能上都有独到之处!!相信完全可以胜任出一份好的试卷任务。AbstractThegeneralsituationteacherthinksoutapaper,reachhugeexampooleachfindsoutthequestion,orshoulderthequestiontogetheroutfromseveralrelevantbooks.Time-consumingandalsostrenuouslikethis,andverydifficulttoguaranteecoveragerateandpaperdegreeofdifficultyofexaminationquestion.HelpingtheteacherthinksoutahigtqualitypaperisthedestinationofdevelopthisSoftware.InthecauseofthisweselecttheterminalisMicrosoftOfficeWord.ThisSoftware’sbaseofdevelopisimproveoncontrolinexistenceandstudytheVBAprograming.Thesefunctionsofthissoftwareareasfollows:One.Manualcreatepaper;Two.Autocreatepaper;Three.Selectfromexistentialpapers;Four.Usermanage;Five.Databasemanage.TheresultofmanytestisthatthissoftwareisruningsteadyandthesefuntionsofitisruningrightintheenvironmentwhichmakeupofWindows98/me/2000/XPandOfficeXP/2003,itisbasicreachtherequests.Inall:theresultofrealtestbyteacheristhatthissoftwareareuniqueininterfaceandfunction.Wemustbelieveitcancompletecreatingahighqualitypaper.1.1设计目的及课题背景在当今社会,计算机的应用已经普及到社会的各个部分,它代表着现代的气息,是现代化的象征之一。学校是科学人才的培养基地,是现代化的领头人,那么计算机的使用更是普遍的。在教学的各个部分都会逐渐的涉入。随着国家教育事业的发展,对学生及老师的要求也越来越高,其中对老师的要求之一就是要能提高学生的学习成绩,而学生的成绩则体现在平时的测验中和升学考试的成绩中,那么试卷的出题水平就很重要了。但是对于学生的进步和学习能力的提高,作为老师无法随时都有精力和时间去出适应学生的考卷,以往的人工手动出题方式不仅会导致教学的个人经验主义,而且使人力与物力过多浪费,教师的工作负担过重,同样对学生的成绩的提高也有影响,就会影响整个教育机构的运作和控制管理。因此,必须制定一套合理、有效,规范和实用的试卷自动生成管理系统,对试题资料以及试卷资料进行集中统一的管理。随着计算机的广泛应用,越来越多的学校均选用了计算机化的管理模式。以前的试卷的查询、修改、试题的编写等都是教师用笔起草在纸上,经过商量认为难易度还是比较适中,才决定输入计算机,经过排版打印。为了更好的利用计算机管理系统,制作一套试卷自动生成系统,是试题由教师直接输入到数据库,然后建立一个文件夹专门用来装试卷文档,和相应的答案,这样就使试卷和试题方便管理,易于更新,管理工作将会更安全,更方便,更实用。本课题主要研究的是运用可视化程序设计和数据库进行开发的一个基于winform的试卷自动生成系统,系统开发的总的设计目标是实现试卷生成的系统化、规范化和自动化,实现对试卷试题资料的集中统一的管理。2任务描述管理员登录后1、学生账号管理2、试题名称管理:例如第一套试题3、试题管理:一套试题弄20道题就行,一题5分学生登录后1、选择哪一份试题,然后答完题后,评分2.1目标采用C#和ADO.NET等开发技术基本上实现自动出题系统的用户登录,学生账号管理、试卷管理、题库管理。2.2运行环境需要在电脑上安装vs2023和sqlserver数据库。C#

是微软公司发布的目前最流行的基于Windows

平台应用程序开发集成环境。此开发环境中支持的C#是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。其中用于与SQLServer数据库相连的C#组件模型很好地融入了.NETFramework,拥有.NETFramework的平台无关、高效等特性。操作者能使用C#组件模型方便高效地连接和访问数据库[8]。在.NET环境下使用了C#构建数据库应用系统中的数据访问层的步骤和方法。由于C#技术对ADO数据访问技术有了较大的改进,使得开发人员能够以较为灵活的方式查询和操作数据以及更新数据源,是所有数据驱动的.NET应用程序或者Web服务的核心部件。通过对这些技术的了解,使我们对.NET环境下如何开发数据库应用系统有了一个系统的、感性的认识。在后台代码的功能实现上,C#Web应用程序可以使用多种语言来开发,但是VisualC#.NET作为专门针对Microsoft的.NET战略而推出的语言,它对.NETFramework和C#具有最为全面的支持。可以说,VisualC#.NET是开发C#Web应用程序较好的语言。结合使用VisualC#.NET和C#,用户可以方便的开发出功能强大的Web应用程序。SQLServer为用户提供了完整的数据库解决方案,该软件功能强大、使用方便,已为越来越多的人所信赖。SQLServer支持并发连接,允许多个用户同时访问数据,完全能够满足用户的需求。SQL提供了强大的数据存储功能,高效率的数据查询技术、方便易用的向导和工具,友好亲切的用户界面,是制作该系统后台的很好的UY工具。SQLServer特点①真正的客户机/服务器体系结构。②丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。③SQLServer与WindowsNT完全集成,利用了NT的许多功能.SQLServer也可以很好地与MicrosoftBackOffice产品集成。④SQLServer具有很好的伸缩性,提供数据仓库功能。⑤对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上,图形化用户界面,使系统管理和数据库管理更加直观、简单。需求分析是系统设计的前提,是研制信息系统最重要的阶段,也是最困难的阶段。它是应用系统的思想和方法,把复杂的对象分解成简单的组成部分,找出这些部分的基本属性和彼此间的关系.它是提出新系统逻辑模型的重要步骤,这一步骤通过对原有系统的调查和分析找出原系统业务流程和数据流程的不足,提出优化和改进的方法,给出信息系统所要采用的信息处理方案。C#技术简介C#是.NET的关键性语言,c#是一种简单的,类型安全的,现代的,和面向对象的程序开发语言。C#使用了很多C++的功能,如语句,表达式和操作符,另外C#参考了许多Java的技术规则。C#使用命名空间来组织,不同的命名空间可以包含不同类的相同名字,降低了名字的冲突性。C#有一个虚拟机(CLR)--公用语言运行环境,其对象具有层次性。C#与Windows的体系结构相似,可以使用全部的Win32API,因而是C#很容易被开发人员所熟悉。使用c#语言设计的组件能够用于Web服务,通过Internet可以被运行于任何操作系统上任何编程语言所调用。3数据描述3.1输入数据用户登录界面中输入用户id和密码,输入的用户id是6~15位字母或数字。用户修改个人信息时需要输入各个模块需要的不能重复的id号。各个个人信息管理模块都支持中文信息的输入。3.2输出数据根据数据库中存储的信息进行显示。需求分析21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,自动出题系统系统为公司带来了极大方便。1需求调查1.1需要解决的问题本系统就是基于ASP.NET开发的,在论文中,主要研究下面几个问题:①什么是ASP.NET,ASP.NET相较于其他技术有哪些优势。笔者将在第二章中做概括性叙述,让读者对ASP.NET有一定的认识。②基于ASP.NET的停车场管理系统是否可行。即该系统的可行性分析,笔者将在本文的第三章中做详细阐述。③如何运用ASP.NET开发停车场管管理系统。通过对自动出题系统的功能需要的调查并对调查的结果分析。1.2业务需求调查通过业务需求调查得到如下的系统流程图(图1.2)用户登录用户登录输入账号密码登录界面进入管理模块界面N没有输入验证是否正确Y图1.2系统流程图开发流程如下图所示:2功能需求2.1功能划分根据用户使用用户管理系统时管理的信息的类别的不同可以分为以下几个模块分别是:学生账号信息,题库、试卷管理、考试评分功能。理等模块组成。进入该系统后,用户可以对系统中的信息进行添加、修改、和查询等操作。包括以下功能:登录登录验证退出登录成功学生账号管理试卷管理题库退出考试功能自动评分NYY3数据描述3.1数据描述在需求分析后,就可以设计出能够满足用户需求的各类实体,以及它们之间的关系,为后面的设计打下基础。这些实体包含各种具体的信息,通过相互之间的作用形成数据的流动。根据上面的分析规划出的实体有:学生账户信息实体、试卷题目信息实体、题库信息实体。3.2数据库描述3.2.1关系描述的设计根据数据库原理,并结合以上E-R图,经转换,可以导出各个关系。其转化规则为首先每个实体应该转换成一个关系,有属性的联系也应转化为一个关系然且需要给出每个关系的关键字。根据以上规则直接给出所有关系。身份验证模块:当用户进入考试系统时,系统根据不同的情况返回不同的值,以判别该用户是老师还是学生;。题库添加删除修改功能模块:主要完成教师对题库的操作,包含试题的录入,查看,删除及修改学生答卷模块:学生系统用户登录后,可进行在线考试,考完以后显示评分结果及正确的答案在得出以上关系后,根据关系数据库的理论要求,需要对所有的关系进行关系规范化,至少要求各个关系达到第三范式的要求。按照第三范式的要求对比以上各个关系,在所有关系中都不存在非主属性对关键字的部分依赖,即满足第三范式。3.2.3数据库的物理设计在完成数据库的逻辑设计后,即可以开始数据库的物理设计。基于以上数据库的逻辑设计,考虑程序设计的简易性及通用性,本个人信息管理系统采用Oracle数据库,并在其下创建5个数据表,其结构分别如下:(1)学生账号信息表,其字段列表如图3.1所示:试卷名称表,其字段列表如图3.2所示:题库表,字段列表如图3.3所示:成绩表,其字段列表如图3.4所示:4性能需求4.1数据精确度考虑到本系统的用户需求在进行财务管理实体表的设计时将总收入,消费金额的数据精度是小数点后四位。4.2适应性该系统适合各类人群使用。5运行需求5.1用户界面采用c/s架构。5.3基本要求1)体系结构:c/s架构2)操作系统:Windows系列3)数据库管理系统:sqlserver4)开发工具:vs2023总体设计1总体结构和模块设计1.1功能结构总体功能结构图如下:登录登录验证退出登录成功学生账号管理试卷管理题库退出考试功能自动评分NYY1.2模块设计该系统分为以下几个模块:学生账号管理、试卷管理、题库、退出、考试功能、自动评分功能。2、数据结构该系统中的五个表的关系是:试卷题目信息表是其他表的外键。3、数据库设计3.1数据库的逻辑设计根据本系统的需求设计的概念模式如图3所示:4外部接口设计4.1用户界面用户登录界面如下:图4.1.1用户登陆图4.1.2学生账号信息图4.1.3试卷管理界面图4.1.4题库界面图4.1.5考试界面详细设计1程序设计用户登录和用户的注销:是该系统的公共的功能部分。该部分主要负责对用户登录状态的信息的存储和传递。要实现这些功能需要借助session技术来实现。系统实现主要代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceWindowsFormsApplication1{publicpartialclass登?入?:Form{public登?入?(){InitializeComponent();}privatevoidbutton2_Click(objectsender,EventArgse){this.Close();}privatevoidbutton1_Click(objectsender,EventArgse){if(textBox1.Text.Trim()==""){MessageBox.Show("请?输?入?用?户§名?信?息¢!?","提?示?对?话°框ò",MessageBoxButtons.OK,MessageBoxIcon.Warning);return;}if(textBox2.Text.Trim()==""){MessageBox.Show("请?输?入?密ü码?信?息¢!?","提?示?对?话°框ò",MessageBoxButtons.OK,MessageBoxIcon.Warning);return;}if(textBox1.Text=="admin"&&textBox2.Text=="admin"){主÷窗洹?体?frm=new主÷窗洹?体?();frm.ShowDialog();}else{MessageBox.Show("用?户§名?或ò密ü码?有瓺误ó,?请?核?实害?!?","提?示?对?话°框ò",MessageBoxButtons.OK,MessageBoxIcon.Warning);}}}}namespaceWindowsFormsApplication1{publicpartialclass主÷窗洹?体?:Form{public主÷窗洹?体?(){InitializeComponent();}private试?卷í名?称?fUserMan1;privatevoid试?题琣管ü理え猅oolStripMenuItem_Click(objectsender,EventArgse){if(fUserMan1==null||fUserMan1.IsDisposed){fUserMan1=new试?卷í名?称?();fUserMan1.MdiParent=this;fUserMan1.Show();}}private账?号?管ü理え?fUserMan;privatevoid学§生Θ?账?号?管ü理え猅oolStripMenuItem_Click(objectsender,EventArgse){if(fUserMan==null||fUserMan.IsDisposed){fUserMan=new账?号?管ü理え?();fUserMan.MdiParent=this;fUserMan.Show();}}private题琣库afUserMan2;privatevoid题琣库aToolStripMenuItem_Click(objectsender,EventArgse){if(fUserMan2==null||fUserMan2.IsDisposed){fUserMan2=new题琣库a();fUserMan2.MdiParent=this;fUserMan2.Show();}}privatevoid退?出?ToolStripMenuItem_Click(objectsender,EventArgse){this.Close();}}}namespaceSystem.WEB{publicpartialclassLogin:System.Web.UI.Page{stringtitle="控?制?平?台?;sys_userserveruser=newsys_userserver();protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){Session.Remove("user");}}publicstaticboolIsIPAddress(stringstr1){if(str1==null||str1==string.Empty||str1.Length<7||str1.Length>15)returnfalse;stringregformat=@"^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$";Regexregex=newRegex(regformat,RegexOptions.IgnoreCase);returnregex.IsMatch(str1);}///<summary>///获?取?IP地?址·///</summary>publicstaticstringIPAddress{get{stringresult=String.Empty;result=HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];if(result!=null&&result!=String.Empty){//可é能ü有瓺代洙?理え?if(result.IndexOf(".")==-1)//没?有瓺“°.”±肯?定¨是?非?IPv4格?式?result=null;else{if(result.IndexOf(",")!=-1){//有瓺“°,”±,?估à计?多à个?代洙?理え?。£取?第台?一?个?不?是?内ú网?的?IP。£result=result.Replace("","").Replace("'","");string[]temparyip=result.Split(",;".ToCharArray());for(inti=0;i<temparyip.Length;i++){if(IsIPAddress(temparyip[i])&&temparyip[i].Substring(0,3)!="10."&&temparyip[i].Substring(0,7)!="192.168"&&temparyip[i].Substring(0,7)!="172.16."){returntemparyip[i];//找ò到?不?是?内ú网?的?地?址·}}}elseif(IsIPAddress(result))//代洙?理え?即′是?IP格?式?returnresult;elseresult=null;//代洙?理え?中D的?内ú容╕非?IP,?取?IP}}stringIpAddress=(HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]!=null&&HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]!=String.Empty)?HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]:HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];if(null==result||result==String.Empty)result=HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];if(result==null||result==String.Empty)result=HttpContext.Current.Request.UserHostAddress;returnresult;}}///<summary>///登?入?事?件t///</summary>///<paramname="sender"></param>///<paramname="e"></param>protectedvoidbtnLogin_Click(objectsender,EventArgse){try{stringname=this.txtLoginName.Text.Trim();//用?户§名?stringpwd=this.txtPwd.Text.Trim();//密ü码?sys_userres=user.Check(name,System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(pwd,"MD5"));if(res.id!=0){if(res.timetrem>DateTime.Now){Session["user"]=res;QXLogistics.SystemFramework.QXSoftConfiguration.CreateOALog(",登?陆?平?台?IP:阰"+IPAddress+",登?入?用?户§:阰"+res.loginname+"登?入?成é功|");Response.Redirect("main.aspx");}else{stringeage="您ú的?用?户§登?入?权ā?限T已?到?期ú,?请?联系μ管ü理え?员±!?";QXLogistics.SystemFramework.QXSoftConfiguration.CreateOALog(",登?陆?平?台?IP:阰"+IPAddress+",登?入?用?户§:阰"+name+"登?入?失骸?败悒?,?权ā?限T到?期ú!?");System.WEB.Public.PUB.ExecuteScript(string.Format("showWarningMsg('{0}');",eage));}}else{stringeage="您ú输?入?的?用?户§名?密ü码?不?匹¥配?,?请?重?新?输?入?!?";QXLogistics.SystemFramework.QXSoftConfiguration.CreateOALog(",登?陆?平?台?IP:阰"+IPAddress+",登?入?用?户§:阰"+name+"登?入?失骸?败悒?);System.WEB.Public.PUB.ExecuteScript(string.Format("showWarningMsg('{0}');",eage));}}catch(Exceptionex){stringeage="出?现?错洙?误ó,?详ê细?请?看′错洙?误ó日?志?!?";QXLogistics.SystemFramework.QXSoftConfiguration.CreateErrorLog("btnLogin_Click()方?法ぁ?出?错洙?!?,详ê细?错洙?误ó:阰"+ex.Message);System.WEB.Public.PUB.ExecuteScript(string.Format("showTipsMsg('{0}','2500','5');",eage));}}}}6.1.2功能测试对功能测试是测试中的重点,主要包括一下几个方面的内容:连接这个连接和界面测试中的连接不同那里注重的是连接方式和位置,如是图像还是文字放置的位置等,还是其他的方式。这里的连接注重功能。如是否有连接,连接的是否是说明的位置等。表单提交应当模拟用户提交,验证是否完成功能,如注册信息,要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息。还有数据正确性验证,异常处理等,最好结合易用性要求等。B/S结构实现的功能可能主要的就在这里,提交数据,处理数据等如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量。白盒测试技术(WhiteBoxTesting)深入到代码一级的测试,使用这种技术发现问题最早,效果也是最好的。该技术主要的特征是测试对象进入了代码内部,根据开发人员对代码和对程序的熟悉程度,对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。黑盒测试技术(BlackBoxTesting)黑盒测试的内容主要有以下几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,根据软件需求,设计文档,模拟客户场景随系统进行实际的测试,这种测试技术是使用最多的测试技术涵盖了测试的方方面面,可以考虑以下方面:正确性(Correctness)、可用性(Usability)、边界条件(BoundaryCondition)、性能(Performance)压力测试(Stress)多用户情况可以考虑使用压力测试工具,建议将压力和性能测试结合起来进行.如果有负载平衡的话还要在服务器端打开监测工具,查看服务器CPU使用率,内存占用情况,如果有必要可以模拟大量数据输入,对硬盘的影响等等信息.如果有必要的话必须进行性能优化(软硬件都可以).这里的压力测试针对的是某几项功能.错误恢复(ErrorRecovery)错误处理,页面数据验证,包括突然间断电,输入脏数据等.安全性测试(Security)这个领域正在研究中,不过防火墙,补丁包.杀毒软件等的就不必说了,不过可以考虑破坏性测试时任意.兼容性(Compatibility)不同浏览器,不同应用程序版本在实现功能时的表现,不同的上网方式,如果你测试的是一个公共网站的话.6.1.3状态测试技术软件可能进入的每一种独立状态;从一种状态转入另一种状态所需的输入和条件;进入或退出某种状态时的设置条件及输入结果.具体测试方法可以参考如下:每种状态至少访问一次;测试看起来最常见最普遍的状态转换;测试状态之间最不常用的分支测试所有错误状态及其返回值测试随机状态转换6.1.4竞争条件测试技术竞争条件典型情形参考如下:两个不同的程序同时保存或打开同一个文档共享同一台打印机,通信端口或者其他外围设备当软件处于读取或者修改状态时按键或者单击鼠标同时关闭或者启动软件的多个实例同时使用不同的程序访问一个共同数据库6.1.5负载\压力测试(StressTest)在这里的负载\压力和功能测试中的不同,他是系统测试的内容,是基本功能已经通过后进行的.可以在集成测试阶段,亦可以在系统测试阶段进行.使用负载测试工具进行,虚拟一定数量的用户看一看系统的表现,是否满足定义中的指标.负载测试一般使用工具完成,loadrunner,webload,was,ewl,e-test等,主要的内容都是编写出测试脚本,脚本中一般包括用户一般常用的功能,然后运行,得出报告。所以负载测试包括的主要内容就不介绍了。无论什么工具基本的技术都是利用线程技术模仿和虚拟用户,在这里主要的难点在与测试脚本的编写,每种工具使用的脚本都不一样,但是大多数工具都提供录制功能就算是不会编码的测试人员同样可以测试。对负载工具的延伸使用可以进行系统稳定性测试,系统极限测试,如使用100的LoadSize连续使用24小时,微软定义的通过准则是通过72小时测试的程序一般不会出现稳定性的问题。6.2不同的测试技术区分6.2.1覆盖测试技术说明:测试覆盖率可以看出测试的完成度,在测试分析报告中可以作为量化指标的依据,测试覆盖率越高效果越好。覆盖测试可以是程序代码的执行路径覆盖,亦可以是功能实现的步骤覆盖(可以理解成流程图的路径覆盖)。该技术可以用在任何测试阶段,包括单元测坏死、集成测试、系统测试。使用该技术时可以使用以上的任何测试方法和测试技术。6.2.2白盒测试和黑盒测试技术白盒测试技术(WhiteBoxTesting)该技术主要的特征是测试对象进入了代码内部,根据开发人员对代码和对程序的熟悉程度,对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。这一阶段测试以软件开发人员为主,使用Xunit系列工具进行测试,可以包括很多方面如功能性能等。黑盒测试(BlackBoxTesting)测试的主体部分黑盒测试的内容主要有以下几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,包括的不同测试类型请参考以上内容。6.2.3手工测试和自动化测试手工测试(ManualTesting):即依靠人力来查找Bug。方法可以参考上边的测试,也可以根据对实现技术及经验等进行不同的测试。自动测试(AutomationTesting)使用有针对工具实行。可以作出自动化测试的计划,对可以进行自动化测试的部分编写或者录制相应的脚本,可以加入功能,容错,表单提交等,可以参考MI,Rational或者其他类测试工具说明.根据权威的软件测试经验,手工测试还是主要的测试方法,自动测试不够灵活,在这里不再详述。微软的测试过程80%还是手工完成。自动测试永远也代替不了手工测试,但是手工测试的工作量很大是不争的事实。由于测试环境操作系统,网络环境,带宽等情况可能产生的测试结果可能不同这是就需要经验以及对测试环境的保护等方面下一些功夫。6.3软件缺陷的原则软件缺陷区别于软件bug,它是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论