网上书店生产实习报告

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

上书店生产实习报告
标题类型:实习报告
桂林理工大学
GUILIN UNIVERSITY OF TECHNOLOGY
消费实习(实习报告) 标题:网上书店
学院:
专业(方向):
班级:
学生:
同组成员:
指点教员:
2021年 1月 22日
摘要
随着迷信技术的开展,网络在人们生活中的运用越来越普遍。

人们越来越想在最短的时间内购置到自己所需的图书。

但书目的单一,给人们在忙碌的任务生活中的购书带来了很大的费事,于是网上购书便成了人们向往的事情。

图书销售系统的开发为人们带来了很大的方便,使他们足不出户就可以悄然松松地买到自己想要的书,既省时又省力。

有效地延长了图书流通发行环节,将广阔读者、图书、出版者、发行者严密地结合在一同,大大提高了图书流通率。

它有着运营本钱低、库存是虚拟的、用户检索方便、地域限制少等特点。

系统以JSP为主要制造工具,完成了用户注册、登陆、验证身份及书籍的预览查询、对书籍的购置经过购物车完成等功用。

关键词电子商务网上书城管理信息系统
Abstract
With the development of science and technology, Internet is applied more and more widely in people's lives. There is a growing desire to purchase books which peoples possibly want to buy in the shortest time. However, a wide range of books brought a lot of troubles to people in the busy life. So book online has become a matter of people yearn for.
The development of this system will make a lot of convenience for people, so that they can buy books which they liked easily, both convenience and effective. The system effectively reduce the length of the book links the flow of distribution, it can be a large number of readers, books, publishers, distribution worked closely together, improving the flow rate of the book greatly. The system has many advantages such as low operating costs, virtual inventory, the user searches convenient, less geographical restrictions and so on.
JSP in the system as the main tool what to achieve the user registration, login, authentication, book preview inquiries, through the shopping cart in order to achieve the purchase of books.
Key words Online bookstore MIS
中文摘要
英文摘要
目录
1引言
1.1项目背景
1.2 国际外研讨现状
1.3 可行性研讨
2 义务概述
2.1 系统开发的目的
2.2 用户的特点
3 系统需求剖析
3.1 对功用的规则
3.1.1 精度要求
3.1.2 时间性要求
3.1.3 灵敏性要求
3.1.4 输入输入要求
3.2 运转环境规则
3.2.1 设备要求
3.2.2 支持软件
3.2.3 接口要求
3.2.4 控制要求
4 系统设计
4.1 总体设计
4.1.1 需求规则
4.1.2 基本设计概念和处置流程 4.1.3 各模块结构设计
4.1.4 功用需求与顺序的关系
4.2 接口设计
4.2.1 用户接口
4.2.2 外部接口
4.2.3 外部接口
4.3 系统数据库设计
4.4 系统出错处置设计
5 系统完成
6 系统测试与评价
7 实习总结
1、引言
1.1 项目背景
随着internet的普及和电子商务的兴起,网上图书销售是Internet电子商务在图书销售行业开展的肯定结果,这种新型的图书销售方式,与传统应用书店停止销售的方式相比拥有许多优势:一是降低了销售本钱;二是应用网络作为买卖平台,改动传统的买卖方式,使得买卖活动不受空间和时间的限制;三是信息的传递更迅速灵敏,旧书信息上传后,客户可以立刻看到,买卖马上可以从网上停止,从而大大提高了买卖的效率。

正是由于这些优势,网上图书销售才干得以迅速地开展。

网上图书销售系统的主要功用是应用网站作为买卖平台,将图书的一些基本信息以网站的方式发布到Internet中,客户可以经过Internet登录图书销售网站来检查售书信息并提交订单订购图书,实如今线买卖。

1.2 国际外研讨现状
1〕、国外现状
网上售书这是信息社会开展的肯定要求。

国际互联网的守旧,为信息社会的飞速开展发明了条件。

在美、日等信息化水平较高的国度和地域,网上图书销售开展速度迅猛。

据InternetWorldStatS的统计,明天的互联网有17亿用户。

而目前的全球人口为67亿,到2020年毫无疑问会有更多的人运用互联网。

美国国度迷信基金会估量,到那时互联网的用户数量将接近50亿。

网民队伍的迅速扩大,无疑为网上售书的开展提供了庞大的市场空间。

加上图书因其具有标识明晰、规格一致、特征容易描画、同种商品集体之间无差异等特性而能成为开展电子商务的最为理想的商品类型。

因此,网上售书成为各国开展电子商务的首选目的,国际互联网守旧后,各国电子商务网站很大一局部都是网上书店。

只需网络开展没有中止,网上售书的开展就不会中止。

2〕、国际的研讨现状
近年来,随着计算机网络技术的飞速开展,网络技术运用曾经相当普及,使得在线购置成为理想,各种各样的网上图书销售系统层出不穷,国际各大图书商都在创立自己的计算机网上电子商务系统。

随着迷信技术的飞速开展,Internet 这个昔日少数迷信家接触和运用的科研工具曾经成了普通百姓都可以触及的群众型媒体传达手腕。

1.3 可行性剖析
1)、社会可行性
数据显示,自2020年至2020年中,消费者去超市和商场的人数趋于颠簸,运用网购的消费者比例却在快速增长,2020年上半年增长速度环比上升6%。

而网购用户的人群也在悄然发作着变化。

报告显示,网购的重、中度消费人群添加,中度消费人群比例在2020年下半年末尾初次超越50%。

这一结论从淘宝网的数据中也失掉印证。

2020年,淘宝网年度消费金额在一万元以上的用户数量环比增长达82.8%,金额在一千至一万元之间的环比增64.7%,年消费金额在一千元以内的用户仅增34%。

与支出相对的,是网购人群的支出增幅却未能赶上花销的速度。

报告指出,2020年上半年,我国网购人群家庭月支出增幅为5%,而破费增幅那么达9%。

在此开展趋向下,树立电子商务系统,不只可以拓宽销售途径,还可以有效地浪费销售本钱。

2〕、技术可行性
本系统采用的是JSP、Servlet和MySQL开发,Windows XP Professional 操作系统,用Dreamweaver停止前台网页界面设计、采用JDBC方式与后台数据库停止衔接,完成数据的添加、修正、删除、查询等功用。

由于JSP、Servlet 功用弱小,而MySQL灵敏易维护在开发方面具有方便快捷、运用灵敏的特点,以及目前的普遍实践运用,因此运用JSP、Servlet、MySQL是开发轻平台的最正确组合从而说明本系统在技术方面可行。

硬件方面,科技飞速开展的明天,硬件更新的速度越来越快,容量越来越大,牢靠性越来越高,价钱越来越低,其硬件平台完全能满足此系统的需求。

3〕、操作可行性
目前,大少数计算机都能运转该系统,该系统的装置、调试、运转不会改动原计算机系统的设置和规划,并且系统界面复杂,提示信息完整,由相关人员指点便可以方便的操作此软件。

2、义务概述
2.1 系统开发的目的
管理员可以维护客户注册信息、维护图书信息、处订定单信息、网上售书。

检查图书调查报告、游客可以在线注册为会员、购书。

本系统的设计目的将最终定位于完成以上所述的系统主要业务的基本模型上。

2.2 用户的特点
本系统的最终用户是图书管理员和读者,图书管理员需求停止用户的创立,修正和删除等任务,要求具有计算机知识,如权限管理等。

读者是普通用户,具有一定的计算机操作知识即可。

3、系统需求剖析
3.1 对功用的规则 3.1.1 精度要求
本系统要求输入的会员年龄为整数,买书的数量为整数,出生日期必需是合法的日期方式〔如1990-08-01〕,身份证号码必需为数字。

3.1.2 时间性要求
〔1〕系统的更新处置时间应该在可接受的范围内; 〔2〕系统的数据查询时间应该在可接受的范围内; 〔3〕系统的数据统计时间应该在可接受的范围内。

3.1.3 灵敏性要求
1〕操作方式上应该可以满足鼠标和键盘恣意切换的需求; 2〕可以支持Windows XP 及以上运转环境; 3〕留有与其他系统的接口。

3.1.4 输入输入要求
顶层图:
书籍
评论、订单
订单 管理员、用户 用户 书籍 、订单
用户帐号用户评论用户订单
用户帐号管理员帐号书籍
图书展现信息
3.2 运转环境规则
3.2.1 设备要求
CPU主频不低于2.0GHZ,内存容量不低于1024M,硬盘不低于500G。

3.2.2 支持软件
本系统支持的操作系统包括: Windows XP及以上操作系统。

本系统支持的数据库: MY SQL
本系统的开发工具:tomcat7.0,my eclipse 。

在运用方面,操作人员需求懂得一定的计算机知识。

3.2.3 接口要求
运用通讯协议TCP/IP。

3.2.4 控制要求
本系统前台依据‘会员验证’模块来控制前台任务,假定为会员,那么可经过会员登录来选择前台的各项功用,假定不是会员,那么必需先注册会员,后台那么依据‘管理员验证’模块来控制后台任务,经过管理员的登录来管理书的存储,和会员信息的存储以及购物单和总账目的输入。

4、系统设计
4.1.1 需求规则
基本功用:
a) 客户信息管理功用:客户注册、客户登录功用。

b) 图书分类显示功用:按图书的分类显示相应类别的一切图书的信息,显示信息包括:图书称号、作者、单价、图书简介以及图书对应的封面图片。

c) 图书订购功用:在图书显示界面中,客户可以选购图书,并指定选购的数量。

d) 购物车功用:客户选购图书后能方便地检查购物车内的物品列表及相关的单价、数量、图书称号、总价等信息;并能从购物车中删除选定物品的功用。

e) 图书信息管理功用:管理人员登录后能添加、删除、更改图书信息,其中包括:图书名、作者姓名、所属类别、单价、图书的简介以及图书对应的封面图片。

f) 图书类别管理功用:管理人员登陆后可以添加、删除、更改图书类别。

g) 销售管理功用:管理人员登陆后可以检查用户所购置的书籍。

附加功用:
图书库存管理功用:能实时更新和显示各图书在库存数量,对零库存的图书,只能显示在客户界面,但客户不能订购
4.1.2 基本设计概念和处置流程
该网上书店运用顺序包括以下几大模块:
用户管理模块
注册/登录
目录管理模块
分类管理
商品管理模块
商品管理
商品概略管理
购物车管理模块
设计购物车
保管购物车信息
生成购物车ID
完成购物车访问功用
处置顾客定单模块
完成定单系统
管理定单
留言板模块
留言板管理
针对不同用户显示不同的留言板整个项目结构如以下图所示:
4.1.3 各模块结构设计
1、用户管理模块
用户模块中的登录局部分为会员登陆和管理员登陆,管理员登陆页面会给控制登陆的servlet传回一个role的参数,servlet经过判别role能否为null 来决议当用户名和密码正确时能否跳转到后台管理页面,当role为null时假设用户名和密码正确就会跳转到会员登录成功界面。

2、目录管理模块
目录管理主要有分类管理。

分类管理有添加、修正和删除功用。

管理员可以创立分类,对应选择分类,来创立商品目录。

管理员可以将商品从某个分类中移除。

功用描画:分类管理主要完成商品的一级分类,并对其停止添加、删除、修正等操作。

如下图:
分类管理的设计流程图:
删除分类流程图:
3、商品管理模块
商品管理主要有商品管理、商品概略管理。

其中商品管理有添加、修正和删除功用,商品概略管理有商品概略修正功用。

商品管理中管理员可以将商品关联到某个分类。

用户选择分类
不执行任何操作
提示错误信息
执行删除语句
提示成功信息
单击删除按钮
判别能否有商品
4、购物车
用户经过点击添加商品到购物车,当用户下定单时,用户的暂时购物车就会与用户的账户关联,由于暂时购物车也可以任务,因此用户在结账之前依然无需提供任何额外信息,如用户登录或许创立一个新的用户。

目前或许保管购物车的最好方法能够是为每个购物车生成一个独一的ID,采用全局独一标识符来完成,然后以cookie和session数据的方式保管在用户的计算机中,这种方法的益处是即使用户的阅读器是禁用cookie的,系统顺序也可以基于session数据正常任务。

添加商品到购物车:
5、留言板模块
留言板模块主要用于宣布留言,未登录的用户看到的留言版可以检查一切留言但是不能编辑;已登陆的普通用户看到的留言板可以写新留言,并且可以修正和删除之前用户自己发的留言;管理员可以在后台管理检查一切留言并且删除恣意用户的留言。

4.1.4 功用需求与顺序的关系
4.2 接口设计
4.2.1 用户接口
(1) 登入界面:由输入用户名、密码的文本框和登陆、注册按钮组成。

(2) 购物车界面:
已购书籍信息显示区:用于显示选购书籍信息(称号,价钱,购置数量);
数量编辑框:用于输入每种图书的数量;
提交按钮:确定购置下订单。

(4) 管理员添加书籍界面:
信息编辑框区:输入书籍的信息。

提交按钮:把数据提交到数据库。

(5) 管理员修正书籍界面:
信息编辑框区:对已存在书籍的信息停止修正。

提交按钮:把更新数据到数据库。

(6) 管理员删除书籍界面:
显示框:用于显示一切书的图书名、类别、出版社等信息。

删除按钮:每本书开头都有一个删除按钮用于删除当条记载。

4.2.2 外部接口
a、硬件接口:由于我们运用的通讯协议是TCP/IP,因此这里的硬件接口效果主
要就是TCP/IP层中的网络接口层,他担任数据帧的发送和接纳,帧是独立的网络信息传输单元。

网络接口层将帧放在网上,或从网上把帧取上去。

这就要求IP运用网络设备接口规范NDIS向网络接口层提交帧,并且IP支持广域网和本地网接口技术。

在系统运转时要留意封锁那些容易受攻击和入侵的端口号,在能保证带宽的前提下仅守旧系统运转所必需的端口。

b、软件接口:这里的接口效果主要就是怎样与sql数据库停止通讯,以便对数
据库停止读取和写入操作。

开发中能够运用到的常用对象有以下几个:〔1〕衔接对象〔Connection〕:用来衔接数据库。

〔2〕记载集对象〔RecordSet〕:用来保管查询语句的前往结果。

〔3〕命令对象〔Command〕:用来执行SQL语句或许SQL Server的存储进程。

〔4〕参数对象〔Parameter〕:用来为存储进程或查询提供参数。

4.2.3外部接口
系统中的各模块之间的接口、调用关系,以及模块间的数据传递关系如下所示:模块编号模块称号备注
GN1 会员登录登录模块
GN2 管理员登录登录模块
GN3 用户注册登录模块
GN4 添加书籍书籍管理模块
GN5 修正书籍书籍管理模块
GN6 检查书籍书籍管理模块
GN7 删除书籍书籍管理模块
GN8 订购书籍购物车管理模块
GN9 删除订单购物车管理模块
GN10 修正订购信息购物车管理模块
GN11 添加留言留言板模块
GN11 修正留言留言板模块
GN11 删除留言留言板模块
1〕登录模块与书籍管理模块:管理员可以对数据库中的书籍停止添加、删除、修正等操作,这三种功用的权限仅局限于管理员,要停止操作需确保为管理员,调用登录模块验证用户以保证数据库的信息的正确、完整与平安。

2〕登录模块与购物车管理模块:用户进入系统后可以查询书籍,假定要购物那么需确保用户为本系统的会员,非会员可以注册,会员成功登录后将会员id贮存于效劳器中,购物进程将书籍id也贮存于效劳器中,当会员确认购置时,将会员id、书籍id和购置数量存于数据库中的shopcart表中,并更改该书籍的
库存量。

3) 登陆模块与留言板模块:用户没登陆时只能检查留言板的内容不能编辑;当
用户登录后可以写新的留言,并且从session中取妥以后登陆的用户名作为留言
的作者,假设登陆的是会员,还可以在留言板中删除和更改自己发的留言;假设
登陆的是管理员,还可以对一切留言停止操作。

4.3 系统数据库设计
网上书店的E-R图大致如以下图所示:
经过关于网上书店的需求剖析,以及依据其他例子参考初步设计出数据库各
个表中的属性内容,数据库的详细设计将在数据库设计中设计出来。

如下所示:
1)、用户信息表〔user〕:

字段称号数据类型长度必填字段说明号
1 id 自动编号11 - 自动编号
2 name 文本50 是用户名〔登录时〕
3 email 文本50 是E-mail
4 password 文本50 是密码
5 role 数字11 - 权限
6 relname 文本50 否真实姓名
7 age 数字11 否年龄
2)、书籍信息表〔book〕
3)、书籍分类信息表〔bookcategory〕
4)、购物车信息表〔shopcart〕
2 num 数字11 是购置数量
3 userId 文本50 是用户id编号
4 bookName 文本50 是购置书名
5 price 数字11 是书籍总价
6 bookID 数字11 是购置书籍id编号
5)、留言板信息表〔note〕

字段称号数据类型长度必填字段说明号
1 id 自动编号11 是自动编号
2 title 文本50 是标题
3 author 文本50 是作者
4 content 文本50 是注释
依据上述几个数据库表,经过PowerDisigner软件树立数据库的概念模型CDM 和物理模型PDM。

CDM如以下图所示:
PDM模型如以下图所示:
4.4 系统出错处置设计
信息出
错状况
出错方式含义处置方法
登陆出错用户名不存在。

密码错误在此系统的数据
库中不存在
重新输入正确信
息后,登录
注册出错填写的注册信息错误填写的注册信息
不契合系统的要

重新输入注册信
息,直到契合要
求为止
5、系统完成
用户模块关键代码:
用户模块耐久层:
添加用户功用:
public boolean insertUser (User user) {
connection = DBManager.getConnection(); // 失掉数据库衔接
StringBuffer sqlState = new StringBuffer();
sqlState.append("INSERT INTO user(name,pass,role,");
sqlState.append("realName,gender,age,phone,email,address,register Time");
sqlState.append(")VALUES(?,?,?,?,?,?,?,?,?,?)");
System.out.println(sqlState);
try {
preState =
connection.prepareStatement(sqlState.toString());
preState.setString(1, user.getName()); // 设置每个要拔出的的属性
preState.setString(2, user.getPass());
preState.setInt(3, user.getRole());
preState.setString(4, user.getRealName());
preState.setString(5, user.getGender());
preState.setInt(6, user.getAge());
preState.setString(7, user.getPhone());
preState.setString(8, user.getEmail());
preState.setString(9, user.getAddress());
preState.setDate(10, user.getRegisterTime());
preState.executeUpdate();
return true;
} catch (SQLException e) {
e.printStackTrace();
return false;
} finally {
DBManager.closeAll(connection, preState, resultSet);
}
}
查询用户功用:
public ArrayList queryUser() {
connection = DBManager.getConnection();
String sqlState = "SELECT * FROM user";
User user = new User();
ArrayList arrayList = new ArrayList();
try {
state = connection.createStatement();
resultSet = state.executeQuery(sqlState); // 执行sql查询
while (resultSet.next()) {
user.setId(resultSet.getInt("id"));
user.setName(resultSet.getString("name"));
user.setPass(resultSet.getString("pass"));
user.setRole(resultSet.getInt("role"));
user.setRealName(resultSet.getString("realName"));
user.setAge(resultSet.getInt("age"));
user.setGender(resultSet.getString("gender"));
user.setPhone(resultSet.getString("phone"));
user.setEmail(resultSet.getString("email"));
user.setAddress(resultSet.getString("address"));
user.setRegisterTime(resultSet.getDate("registerTime"));
arrayList.add(user);
}
return arrayList;
} catch (SQLException e) {
e.printStackTrace();
return null;
} finally {
DBManager.closeAll(connection, state, resultSet);
}
}
删除用户功用:
public boolean deleteUser(int id) {
try {
connection = DBManager.getConnection(); // 取得一个数据库衔接
state = connection.createStatement();
state.execute("begin"); // 事务末尾
state.executeUpdate("DELETE FROM user WHERE id='"+ id+ "'");
System.out.println(id);
state.execute("commit"); // 提交事务
return true;
} catch (Exception e) {
try {
state.execute("rollback"); // 假设出现异常数据库回滚} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
return false;
} finally {
DBManager.closeAll(connection, state, resultSet);
}
}
用户模块控制层:
登录控制:
public void doPost( ServletRequest request, ServletResponse response)
throws ServletException, IOException {
// 设置字符集
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
UserDAO ud = new UserDAO();
//设置标志位
boolean isIn = false;
boolean isManager = false;
Session session = request.getSession();
// 获取参数
User user = (User)session.getAttribute("user");
String userName = request.getParameter("userName");
String password = request.getParameter("pwd");
// 判别用户是登陆,还是从其他页面跳转到该页面的
if(user == null){
// 假定是登陆,当用户名和密码为空时那么跳转到出错页面
if(userName == null || password == null){
request.getRequestDispatcher("/com/bsw/error/error.jsp").forward( request, response);
} else {// 查询一切的用户
user = ud.queryUser(userName); // 失掉一切用户
System.out.println(user);
if(user == null){
isIn = false;
} else {// 判别能否为普通用户
if(user.getPass().equals(password) && user.getRole() == 0){
isIn = true;
} // 判别能否为管理员
if(request.getParameter("role") !=null &&
user.getPass().equals(password)){
isIn = true;
isManager = true;
}
}
}
} else {
isIn = true;
}
// 假设合法,显示用户订单信息
if (isIn) {
if(isManager){ // 假定是管理员,那么跳转到后台管理页面
session.setAttribute("user", ud.queryUser(userName));
response.sendRedirect("/BookShop/com/bsw/manager/managerWelcome.j sp");
} else {
// 假定是用户,那么查询用户
UserDAO userDAO = new UserDAO();
User userDetail = userDAO.queryUser(user.getName());
// 放入会话对象,便于以后失掉用户名
session.setAttribute("user", userDetail);
BookDAO bookDAO = new BookDAO();
ArrayList books = bookDAO.queryBook();
request.setAttribute("books", books);
request.getRequestDispatcher("/com/bsw/user/loginSuccess.jsp")
.forward(request, response);
}
}
// 没有登陆,跳到出错页面
else {
request.getRequestDispatcher("/com/bsw/error/error.jsp").forward(
request, response);
}
}
注册控制:
public void doPost( ServletRequest request, ServletResponse response)
throws ServletException, IOException {
// 设置字符集
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
User user = new User();
UserDAO userDAO = new UserDAO();
String name = request.getParameter("Wname");
// 假假定在数据库中查到,那么设置用户的属性
if(userDAO.queryUser(name)==null){
user.setName(name);
user.setPass(request.getParameter("password"));
user.setRealName(request.getParameter("realname"));
user.setGender(request.getParameter("gender"));
user.setAge(Integer.parseInt(request.getParameter("age")));
user.setEmail(request.getParameter("email"));
user.setPhone(request.getParameter("commMethod"));
user.setAddress(request.getParameter("address"));
DateFormat d = DateFormat.getDateInstance();
try{
Date date = new
Date(d.parse(request.getParameter("registTime")).getTime());
user.setRegisterTime(date);
userDAO.insertUser(user);
}catch(ParseException e){
e.printStackTrace();
}
response.sendRedirect("/BookShop/com/bsw/user/registerSuccess.jsp ");
}else{
User tempUser = new User();
tempUser.setRealName(request.getParameter("realname"));
tempUser.setGender(request.getParameter("gender"));
tempUser.setAge(Integer.parseInt(request.getParameter("age")));
tempUser.setEmail(request.getParameter("email"));
tempUser.setPhone(request.getParameter("commMethod"));
tempUser.setAddress(request.getParameter("address"));
request.setAttribute("userTemp",tempUser);
request.getRequestDispatcher("/com/bsw/user/registerUnsuccess.jsp ").forward(request, response);
}
}
用户模块运转界面:
1)、会员登录界面:
2)、会员登陆成功界面:
3)、登录失败界面:
4)、会员参与登录界面:
5)、会员注册界面:
6)、注册成功界面:
7)、管理员登录界面:
8)、管理员登录成功界面:
9)、管理员参与登录界面:
6、系统测试与评价
1〕、对代码逻辑等停止测试
系统测试的方法普通有:
●从能否关心软件外部结构和详细完成的角度划分:黑盒测试和白盒测试;
●从能否执行顺序的角度:静态测试和静态测试;
●从软件开发的进程按阶段划分有:单元测试、集成测试、确认测试、系
统测试、验收测试、回归测试、Alpha测试、Beta测试;
单元测试又称模块测试,是针对软件设计的最小单位─顺序模块〔这里所说的顺序模块在Java中一个模块就是一个方法〕,停止正确性检验的测试任务。

其目的在于发现各模块外部能够存在的各种过失。

单元测试需求从顺序的外部结构动身设计测试用例。

多个模块可以平行地独立停止单元测试。

集成测试(组装测试、结合测试〕,通常在单元测试的基础上,需求将一切模块依照设计要求组装成为系统。

这时需求思索的效果是:
●在把各个模块衔接起来的时分,穿越模块接口的数据能否会丧失;
●一个模块的功用能否会对另一个模块的功用发生不利的影响;
●各个子功用组合起来,能否到达预期要求的父功用;
●全局数据结构能否有效果;
●单个模块的误差累积起来,能否会缩小,从而到达不能接受的水平。

确认测试〔Validation Testing〕,确认测试又称有效性测试。

义务是验证软件的功用和功用及其它特功用否与用户的要求分歧。

对软件的功用和功用要求在软件需求规格说明书中曾经明白规则。

它包括的信息就是软件确认测试的基础。

系统测试〔System Testing〕,是将经过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一同,在实践运转环境下,对计算机系统停止一系列的组装测试和确认测试。

系统测试的目的在于经过与系统的需求定义作比拟,发现软件与系统的定义不契合或与之矛盾的中央。

验收测试〔Acceptance Testing〕,在经过了系统的有效性测试及软件配置审查之后,就应末尾系统的验收测试。

验收测试是以用户为主的测试。

软件开发人员和QA〔质量保证〕人员也应参与。

由用户参与设计测试用例,运用消费中的实践数据停止测试。

在测试进程中,除了思索软件的功用和功用外,还应对软件的可移植性、兼容性、可维护性、错误的恢复功用等停止确认。

由于功用模块较多,所以这次主要测试测试登录功用能否有错,从测试的结果来看与希冀结果完全相反。

详细如下表所示:。

相关文档
最新文档