}
Activity a = new Activity();
ActivityDAO dao = new ActivityDAO(); String id = request.getParameter(\);
List list = dao.checkById(Integer.parseInt(id)); a = (Activity) list.get(0); a.setAdate(aForm.getAdate()); a.setName(aForm.getName()); a.setOthers(aForm.getOthers()); dao.Update(a);
return mapping.findForward(\);
5.6 重要文档管理模块的创建 5.6.1 重要文档信息录入页面
选择“重要文档管理|重要文档信息录入”菜单,就会出现如图5-18所示页面。
图5-18 学生奖惩信息页面
代码如下:
public String upLoad(String dir, FormFile formFile)
throws FileNotFoundException, IOException {
String fname = \;
fname = formFile.getFileName();
InputStream streamIn = formFile.getInputStream(); File uploadFile = new File(dir);
if (!uploadFile.exists() || uploadFile == null) {
31
摘 要
}
}
uploadFile.mkdirs();
关键词: String path = uploadFile.getPath() + \ + fname; OutputStream streamOut = new FileOutputStream(path); int bytesRead = 0;
byte[] buffer = new byte[8192]; }
streamOut.close(); streamIn.close(); formFile.destroy(); return fname;
while ((bytesRead = streamIn.read(buffer, 0, 8192)) != -1) {
streamOut.write(buffer, 0, bytesRead);
Abstract 5.6.2 重要文档列表页面
选择“重要文档管理|重要文档列表”菜单,就会出现如下图5-19所示页面。
Keywords: 图5-19 重要文档列表页面 第六章 测试
6.1 软件测试的目的和原则
系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发
32
的系统与用户需求不符或矛盾的地方。
系统测试的任务是近可能彻底的检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统\做得怎样?\。这阶段又可分为三个步骤:模块测试,测试每个模块的程序是否有错误;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。该阶段结束应交付测试报告,说明测试数据的选择,测试用例以及测试结果是否符合预期结果。测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。
测试方法
系统测试通常分为两中方法:黑盒测试和白盒测试。在下面会对这两种方法进行简单介绍。
对于软件测试而言,黑盒测试法把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。黑盒测试又称为功能测试。
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。
白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
六种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖发现错误的能力呈由弱至强的变化。语句覆盖每条语句至少执行一次。判定覆盖每个判定的每个分支至少执行一次。条件覆盖每个判定的每个条件应取到各种可能的值。判定/条件覆盖同时满足判定覆盖条件覆盖。条件组合覆盖每个判定中各条件的每一种组合至少出现一次。路径覆盖使程序中每一条可能的路径至少执行一次。
\白盒\法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。\白盒\法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然
33
可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试地,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身有问题或规格说明的规定有误,用墨盒测试方法是发现不了的。
系统功能测试
测试的准备工作在分析和设计阶段就开始了。从过程的观点考虑测试,一个应用程序通常包含若干功能模块,本系统测试是顺序进行的,分为以下几个步骤:
1、模块测试。模块测试的目的是保证每个模块作为一个单元能正确运行,所以模块测试通常又称为单元测试。在这个测试步骤中所发现的往往都是编码和详细设计的错误。
2、子系统测试。子系统测试是把经过单元测试的模块放在一起形成一个子系统来测试。模块相互间的协调和通信是这个测试过程中的主要问题,因此,这个步骤着重测试模块的接口。
3、系统测试。系统测试是把经过测试的子系统装配成一个完整的系统来测试。在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确实能提供需求说明书中指定的功能,而且系统的动态特性也符合预定要求。在这个测试步骤中发现的往往是软件设计中的错误。也可能发现需求说明中的错误。
4、验收测试。验收测试把软件系统作为单一的实体来进行测试,它的主要目的是验证系统确实能够满足用户的需要。
6.2 系统测试 6.2.1 测试方法
本软件使用的是黑盒测试技术,彻底的黑盒测试通常要求成百上千亿的测试用例,测试的技术是设计一个较小、可管理的测试用例集,使检测出的一个错误的机会最大,同时通过让相同的错误由多个测试用例检出从而使浪费一个测试用例的机会最小[9]。
6.2.2 测试总结
本次测试中,我采用黑/白盒测试的技术对该管理系统作了详细的测试,在程序测试过程中,发现的错误主要分为两大类错误,一是程序语法错误,二是程序逻辑错误,
34
对于前者的解决主要是依赖于JDK自带编译程序Javac.exe来寻找程序中的语法错误,并逐一解决。而对于后者则是测试运行程序通过设置断点,耐心地寻找逻辑错误处,最终使得程序合乎逻辑,符合设计要求。
通过本对系统的全面测试,我学到了许多测试方面的知识,了解到测试方法、测试经验。通过本次设计,使我了解到测试的重要性。通过测试,可以使软件更适合用户的需求,更加稳定、可靠地运行。
结 论
从本系统开始设计到现在,共两个多月的时间。到目前为止基本功能已经实现。
学生个人信息系统是在对相关人员进行详细调研后,确定了系统涉及的领域,包括数据库设计、界面设计、程序设计等,是一个具有实际应用意义的典型管理系统。
本系统有以下特点:
1.采用B/S体系结构,使系统具有很好的可维护性和重用性。
2.在本系统的开发过程中采用的是JAVA技术,它们使代码容易管理,适合于中小型项目的开发。
3.后台数据库采用的SQL Server 2000,它功能比较强大,除了可以处理包含在各种平台上运行的数据库管理系统内核。
系统虽然基本完成了数字化校园开发设计的任务,但是由于本人技术水平有限,系统的不足之处在所难免,系统在许多方面还需要改进,有些功能还不够完善,所有这些
35