LUOYANG NORMAL UNIVERSITY
金尚网上商城项目测试用例
院(系)名称
信息技术学院
班级
08级软件工程
专 业 名 称
软件工程
学生姓名
张飞、陈硕、
孙小涛、宋艳良、郭亚洲
学号
081164032
任课教师
范刚龙
完 成 时 间
2011年6月8日
目录
21.概述
32.用例
32.1功能性(适合性、准确性、互操作性、安全保密性、依从性)
52.2可靠性(成熟性、容错性、易恢复性、依从性)
62.3易用性(易理解性、易学性、易操作性、吸引性、依从性)
72.4维护性(易分析性、易改变性、稳定性、易测试性、依从性)
82.5可移植性(适应性、易安装性、共存性、易替换性、依从性)
92.6文档(完整性、正确性、一致性、易理解程度、易浏览程度)
102.7代码测试
1.概述
项目名称
金尚网上商城项目管理系统
程序版本
V1.0
测试环境
硬件:
服务器(BG-043)
客户端:(CPU:双核主频2.0以上、内存:4G以上、硬盘:40G以上)
软件:
服务器(操作系统:Windows 2003 Server、数据库:Oracle10G、中间件:Webbes)
客户端(操作系统:Windows XP SP2、浏览器:IE6.0)
测试环境
硬件:
服务器(BG-043)
客户端(IBM Thinkpad T60
本)
软件:
服务器(操作系统:Windows 2003 Server、数据库:Oracle10G、中间件:Webbes)
客户端(操作系统:Windows XP SP2、浏览器:IE6.0)
2.用例
2.1功能性(适合性、准确性、互操作性、安全保密性、依从性)
测试目的
验证当软件在指定条件下使用时,软件产品提供满足明确和隐含要求的功能的能力
功能特性
适合性、准确性、互操作性、安全保密性、依从性
预置条件
测试环境已搭建、软件可测试
参考信息
金尚网上商城项目管理系统操作手册
特殊规程
无
人
设计时间
测试
人
测试时间
功能模块名称
用例编号
操作步骤/测试数据
预期结果
实际结果
判定
功能性(适合性、准确性)
前台模块
用户注册
001
单击增加,输入相关信息,单击确认
注册成功
不符
未通过
用户登录
002
输入用户名及密码
进入欢迎界面
同预期
通过
用户修改
003
修改用户名或密码
修改成功
同预期
通过
用户浏览
004
浏览界面展示物品信息
浏览及页面跳转正常
不符
未通过
用户查询
005
选择意向物品信息
浏览及页面跳转正常
同预期
通过
用户购物
006
保存所填写订单信息
保存成功
同预期
通过
用户退出
007
单击关闭、返回欢迎界面
退出欢迎界面
同预期
通过
会员登录
008
输入登录名及密码
输入新的用户名或密码进行替换
进入欢迎界面
修改成功
不符
同预期
未通过
通过
会员修改
009
会员浏览
010
浏览意向物品信息或已下过的订单信息
页面正常跳转
同预期
通过
会员查询
011
查询意向物品信息
查找成功或失败
同预期
通过
会员购物
012
保存订单信息
保存失败
不符
未通过
会员退出
013
关闭、返回欢迎界面
退出界面
同预期
通过
功能模块名称
用例编号
操作步骤/测试数据
预期结果
实际结果
判定
后台会员管理模块
浏览会员
014
查看已注册的会员
信息更新正常、查看无误
不符
不通过
删除会员
015
删除已不存在的会员
正常删除
同预期
通过
指定会员级别
016
查看会员浏览次数、购物次数等指定级别
实现级别分类
同预期
通过
后台产品管理
产品销量浏览
017
查看已上架、未售出产品信息
更新正常
不符
未通过
产品搜索
018
查看搜索功能
操作正常、跳转正常
同预期
通过
新增产品
019
插入新增产品信息
插入正常、实现正常
不符
未通过
产品上柜
020
完整已有产品信息
添加正常
同预期
通过
产品删除
021
管理失效产品信息
删除正常
同预期
通过
产品修改
022
检查存在失误产品信息
修改成功
同预期
通过
后台商品分类管理
商品浏览
023
查看商品类别
分类合理
同预期
通过
商品添加
024
在各个类别中添加
添加成功
同预期
通过
商品删除
025
处理归类不合理商品
完全清楚
不符
未通过
商品修改
026
重新归类个别分类不当商品
完成修改
不符
未通过
功能模块名称
用例编号
操作步骤/测试数据
预期结果
实际结果
判定
后台订单管理
订单查询
027
查阅会员或用户购物订单
显示正常
同预期
通过
修改订单状态
028
选择信息,单击修改,修改相关信息,单击确认
实现订单状态修改
同预期
通过
订单搜索
029
指定用户或会员订单,单击搜索
页面跳转至预计信息
同预期
通过
订单跟踪
030
查看已有订单,在指定的时间内,在查看该订单的详细信息
能够实现跟踪功能
不符
不通过
订单提醒
031
查看已有订单,指定时间内,查看客户端收到订单信息提醒
指定时间内收到
同预期
通过
2.2可靠性(成熟性、容错性、易恢复性、依从性)
测试目的
验证在指定条件使用时,软件产品维持规定的性能级别的能力
功能特性
成熟性、容错性、易恢复性
预置条件
功能测试完成
参考信息
-
特殊规程
无
设计人
陈硕、张飞
设计时间
2011-05-15
测试记录人
孙小涛、宋艳良
测试时间
2011-05-15至2011-05-20
测试项目
用例编号
测试点
预期结果
实际结果
判定
成熟性
Reliability01
随机选择输入,能够处理系统失效的数据
符合
同预期
通过
容错性
Reliability02
能屏蔽用户的误操作
符合
同预期
通过
Reliability03
对错误有正确提示
符合
同预期
通过
Reliability04
输入错误数据时,系统不崩溃、不异常退出也不丢失数据
符合
同预期
通过
Reliability05
有错误操作时,系统不崩溃、不异常退出也不丢失数据
符合
同预期
通过
易恢复性
Reliability06
在使用过程中,服务器重新启动,客户端能够恢复运行
符合
同预期
通过
依从性
Reliability07
遵循移植性的
、约定、风格指南或法规
符合
同预期
通过
2.3易用性(易理解性、易学性、易操作性、吸引性、依从性)
测试目的
验证在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力
功能特性
易理解性、易学性、易操作性、吸引性
预置条件
软件环境安装完成
参考信息
-
特殊规程
无
设计人
陈硕、张飞
设计时间
2011-05-20
测试记录人
孙小涛、宋艳良、郭亚洲
测试时间
2011-05-20至2011-05-35
测试项目
用例编号
测试点
预期结果
实际结果
判定
易理解性
usability 01
通过适当的术语、图形、背景信息和帮助,帮助用户理解和使用系统的各项功能
符合
同预期
通过
usability 02
出错消息中提供差错产生的原因和纠正的详细信息
符合
同预期
通过
易学习性
usability 03
在线帮助容易定位、有效
符合
同预期
通过
usability 04
对照用户手册或用户手册执行系统,用户文档是否有效
符合
同预期
通过
易操作性
usability 05
具有严重后果的功能,执行可逆或者给出明显警告,执行前要求确认
符合
同预期
通过
usability 06
提供辅助输入手段(如选择输入、默认值等),数据检索方便、灵活
符合
同预期
通过
usability 07
系统易操作,支持标准的鼠标、键盘和快捷键操作
符合
同预期
通过
吸引性
usability 08
颜色使用适当,空白、间隔、边界使用合理
符合
同预期
通过
依从性
usability 09
遵循移植性的标准、约定、风格指南或法规
符合
同预期
通过
2.4维护性(易分析性、易改变性、稳定性、易测试性、依从性)
测试目的
验证软件产品可被修改的能力
功能特性
易分析性、易改变性、易测试性
预置条件
功能测试完成
参考信息
-
特殊规程
无
设计人
陈硕、张飞
设计时间
2011-05-25
测试记录人
孙小涛、宋艳良、郭亚洲
测试时间
2011-05-25至2011-05-30
测试项目
用例编号
测试点
预期结果
实际结果
判定
易分析性
Maintainability01
缺陷易定位
符合
同预期
通过
易改变性
Maintainability02
软件容易更新
符合
同预期
通过
稳定性
Maintainability03
软件修改后不会引起系统运行失效
符合
同预期
通过
易测试性
Maintainability04
程序修改后的容易开展测试
符合
同预期
通过
依从性
Maintainability05
遵循移植性的标准、约定、风格指南或法规
符合
同预期
通过
2.5可移植性(适应性、易安装性、共存性、易替换性、依从性)
测试目的
验证软件产品从一种环境迁移到另外一种环境的能力
功能特性
适应性、易安装性、共存性、易替换性
预置条件
软件环境安装完成
参考信息
-
特殊规程
无
设计人
陈硕、张飞
设计时间
2011-06-01
测试记录人
孙小涛、宋艳良、郭亚洲
测试时间
2011-06-01至2011-06-05
测试项目
用例编号
测试点
预期结果
实际结果
判定
适应性
Portability01
无需额外操作能在指定的环境下正常运行
符合
同预期
通过
易安装性
Portability02
安装过程简单,能够直接根据安装手册安装
符合
同预期
通过
Portability03
允许定制安装
符合
同预期
通过
Portability04
重新安装简单
符合
同预期
通过
共存性
Portability05
与相类似软件在同一环境下能够正常运行
符合
同预期
通过
易替换性
Portability06
在同样环境下,替代另一个相同用途的软件产品
符合
同预期
通过
依从性
Portability07
遵循移植性的标准、约定、风格指南或法规
符合
同预期
通过
2.6文档(完整性、正确性、一致性、易理解程度、易浏览程度)
测试目的
验证文档完整性、正确性
功能特性
文档完整、正确、便于阅读
预置条件
软件文档已提交
参考信息
-
特殊规程
无
设计人
孙小涛、宋艳良
设计时间
2011-06-05
测试记录人
郭亚洲
测试时间
2011-06-05至2011-06-07
测试项目
用例编号
测试点
预期结果
实际结果
判定
完整性
Document01
拥有软件安装所需要的信息
符合
不符
不通过
Document02
拥有产品描述中说明的所有功能
符合
不符
不通过
Document03
拥有软件维护所需要的信息
符合
不符
不通过
Document04
拥有产品描述中给出的所有边界值
符合
同预期
通过
正确性
Document05
文档中所有信息正确,没有歧义和错误的描述
符合
同预期
通过
一致性
Document06
文档自身、文档之间或者文档与产品描述之间,相互不矛盾,且术语一致
符合
同预期
通过
易理解程度
Document07
文档对正常使用其产品的一般用户是容易理解的
符合
同预期
通过
易浏览程度
Document08
用户文档易于浏览,相互关系明确
符合
同预期
通过
Document09
用户文档有目录表或索引表
符合
同预期
通过
2.7代码测试
2.7.1接口检查列表
ID
检查项目
备注
01
调用被测单元的实际参数与该单元的形式参数的个数、属性、量纲、顺序是否一致;
02
被测单元调用子模块时,传递给子模块的实际参数与子模块的形式参数的个数、属性、量纲、顺序是否一致;
-
03
是否修改了只作为输入值的形式参数;
-
04
调用内部函数的参数的个数、属性、量纲、顺序是否正确;
-
05
被测单元在使用全局变量时是否与全局变量的定义一致。
-
06
在单元有多个入口的情况下,是否引用了与当前入口无关的参数;
-
07
常数是否当作变量来传递;
-
08
输入/输出文件属性的正确性;
-
09
OPEN语句的正确性;
-
10
CLOSE语句的正确性;
-
11
规定的输入/输出格式说明与输入/输出语句是否匹配;
-
12
缓冲区容量与记录长度是否匹配;
-
13
文件是否先打开后使用;
-
14
文件结束条件的判断和处理的正确性;
-
15
对输入/输出错误是否进行了检查并做了处理以及处理的正确性。
-
2.7.2局部数据结构
ID
检查项目
备注
01
不正确或不一致的数据类说明;
-
02
错误的变量名,如变量名拼写错或缩写错等;
-
03
使用尚未赋值或尚未初始化的变量;
-
04
差错的初始值或差错的缺省值;
-
05
不一致的数据类型;
-
06
下溢、上溢或是地址差错;
-
2.7.3内存使用
ID
检查项目
备注
01
指针越界
-
02
内存泄露
-
2.7.4功能、独立路径、边界条件、差错处理、性能
单元测试用例
模块名称
Category.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-01
测试对象
Category.java
测试内容和目的
成员变量是否符合需求要求,以及是否能够更新产品分类
前提条件和时机
数据库已经成功连接上,产品有三个属性值分别为,name,
descr, id ,
输入数据
服装,适合各种人群服装, 0
测试
手工
期望结果
查询数据库后返回刚才添加的结果
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
CategoryService.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-02
测试对象
CategoryService.java
测试内容和目的
分别测试是否能够拿到所有的根类别,拿到每个根类别所对应的自类别,返回所有产品,添加根类别,删除根类别
前提条件和时机
数据库已经成功连接上,产品有三个属性值分别为,name,
descr, id ,并且数据库有一些测试数据,以便观察程序执行结果
输入数据
写一个主函数,调用public List
getTopCategories(),和public List getChilds(int id) public List getCategories()
public void delete(Category c) public void add(Category c)
测试方法
手工
期望结果
分别能够返回产品类别根类别,子类别,返回所有产品类别,可以实现增加删除操作
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
GradeOutOfBounds
Exception.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-03
测试对象
GradeOutOfBounds
Exception.java
测试内容和目的
自己编写的异常信息类,是否能够更好的为程序服务,给顾客显示不当信息的处理
前提条件和时机
数据库已经成功连接上,并此类继承RuntimeException类
输入数据
让Grade的值超过3
测试方法
手工
期望结果
给用户有好提示,选择正确的选择
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
Cart.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-04
测试对象
Cart.java
测试内容和目的
1 添加产品项到购物车 2 返回总共产品项的钱数
3 删除产品项通过产品Id
前提条件和时机
连接数据库成功,数据库中有相应的产品信息
输入数据
分别调用 add(), getTotalMemberPrice()和deleteItemById(int product Id) 三个方法,对数据库进行操作
测试方法
手工
期望结果
成功添加产品到购物车,并计算出总金额,以及删除产品项
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
CartItem.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-05
测试对象
CartItem.java
测试内容和目的
测试属性是否符合需求要求 有两个属性 Product product,和 int count;
前提条件和时机
数据库已经成功连接成功,数据库有对应数据项
输入数据
通过Cart.java 用例可以同时对本用例测试
测试方法
手工
期望结果
如Cart.java 结果
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
OrderDAO.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-06
测试对象
OrderDAO.java
测试内容和目的
看接口是否符合需求要求,以及参数设置是否合理,能够被正常的实现
前提条件和时机
数据库已经成功连接上
输入数据
通过主函数实现 update(SaleOrder so) , add(SalesOrder so),
ListgetOrders() delete(int id) ,SalesOrder loadById(int id); 并调用这些函数,
测试方法
手工
期望结果
能够对订单进行一些类正常的操作
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
OrderMgr.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-07
测试对象
OrderMgr.java
测试内容和目的
本类是对OrderDAO的实现,实现了以上所示的功能
前提条件和时机
数据库已经成功连接上,
输入数据
通过主函数实现 update(SaleOrder so) , add(SalesOrder so),
ListgetOrders() delete(int id) ,SalesOrder loadById(int id); 并调用这些函数,
测试方法
手工
期望结果
能够对订单正常的进行一些类的操作
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
OrderMySQLDAO.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-08
测试对象
OrderMySQLDAO.java
测试内容和目的
OrderMySQLDAO.java实现了接口OrderDAO.java类,好处是利用工厂模式,实现代码复用,是否能够实现所有的方法
前提条件和时机
数据库已经成功连接上,
输入数据
调用该类实现好的方法 update(SaleOrder so) , add(SalesOrder so),ListgetOrders() delete(int id) ,SalesOrder loadById(int id); 并调用这些函数,
测试方法
手工
期望结果
能够对订单正常的进行一些类的操作
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
SaleItem.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-09
测试对象
SaleItem.java
测试内容和目的
订单产品项的属性是否符合需求要求,包含五个属性,int id, Product product ,double unitPrice,int count, int orderId;
前提条件和时机
数据库已经成功连接上,
输入数据
选择对应的产品,把该产品添加到订单中
测试方法
手工
期望结果
能够满足订单的需求
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
SalesOrder.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-10
测试对象
SalesOrder.java
测试内容和目的
测试订单是否满足需求需要
前提条件和时机
数据库已经成功连接上,
输入数据
输入id 用户信息,地址,日期,状态,产品项
测试方法
手工
期望结果
能够满足正常订单需求
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
Product.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-11
测试对象
Product.java
测试内容和目的
测试产品类是否满足需求需要
前提条件和时机
数据库已经成功连接上,
输入数据
输入id 产品名,详细信息,正常价格,会员价格,日期,
类别号,类别
测试方法
手工
期望结果
返回类别号,设置类别号,其他信息的设置和获取
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
ProductDAO.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-12
测试对象
ProductDAO.java
测试内容和目的
接口定义了一些类操作方法,测试这些方法参数是否有误,和方法是否满足需求
前提条件和时机
数据库已经成功连接上,
输入数据
选择对应的操作
测试方法
手工
期望结果
能够满足需求
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
ProductMySQLDAO.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-13
测试对象
ProductMySQLDAO.java
测试内容和目的
ProductMySQLDAO.java 类实现上述接口,测试这些方法是否能够正常add() delete() 和update 和find()能否正常使用
前提条件和时机
数据库已经成功连接上,
输入数据
分别调用函数的add(), delete() update() 和find()方法
测试方法
手工
期望结果
能够实现对产品的增删改查
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
ProductSearchFormBean.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-14
测试对象
ProductSearchFormBean.java
测试内容和目的
本类用来产品条件查找
前提条件和时机
数据库已经成功连接上,
输入数据
输入最低价格和最高价格 最低会员价格和最高会员价格进行搜索
测试方法
手工
期望结果
能够根据条件查找到产品
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
User.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-15
测试对象
User.java
测试内容和目的
测试用户类是否满足需求 以及插入一个新的用户信息
前提条件和时机
数据库已经成功连接上,
输入数据
输入username,password ,phone,addr 添加新用户
测试方法
手工
期望结果
实现新增加用户
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
UserNotFountException.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-16
测试对象
UserNotFountException.java
测试内容和目的
该类继承RuntimeException类,测试是否正常运行,
前提条件和时机
数据库已经成功连接上,
输入数据
用户登录是输入用户名不正确
测试方法
手工
期望结果
提示用户名输入的不正确
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
PasswordNotCorrectException.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-16
测试对象
PasswordNotCorrectExption
测试内容和目的
该类继承RuntimeException类,测试是否正常运行,
前提条件和时机
数据库已经成功连接上,
输入数据
用户登录是输入用户密码不正确
测试方法
手工
期望结果
提示用户名输入的密码不正确
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
单元测试用例
模块名称
DB.java
编写人
陈硕
编写日期
2011-6-13
测试环境
Myeclipse3.2 + Tomcat6.0 + MySQL5.0 Windows xp
用例编号
wssc-13062011-16
测试对象
DB.java
测试内容和目的
测试数据库是否正常连接
前提条件和时机
数据库中有相应表的信息
输入数据
运行函数
测试方法
手工
期望结果
提示连接数据库成功
测试人员
陈硕
测试日期
2011-6-13
实际结果
符合要求
当前状态
已经测试
二 写程序时临时错误处理
功能测试1 演示树状结构生产
采用递归 方法运用的,
测试 1:显示结果 出现乱码
问题:此处乱发不是问号,而是另外一中字体,经过检查,问题出现在数据库中的中文数据显示为乱码,
原因:由于mysql数据库在建立是忘记设置默认编码方式,不是中文方式,所以产生乱码
解决办法:把mysql重新安装一下就好了
测试 2:没有显示任何数据
问题:
查看关键代码 根据程序步骤寻找问题,程序本身没有问题,再观察数据库时发现 自己原来插入数据库信息时被打乱,pid 都存在但是,没有pid 为0 的项,导致程序运行后没有任何产生。
原因:数据库信息与源程序不符合
解决办法:该动数据库中数据,使其存在pid=0的项
测试三 :只显示pid=0的项没有显示其子项
问题:界面结果只显示pid=0的子项,
原因:仔细检查程序同样没有发现错误,利用变量跟踪程序走动结果,发现在
在红色字体地方程序没有进入循环,按理说应该进入,再次查看数据库,发现在写测试数据时由于第一次自己写的有问题删掉了,重新添加了一次,id是自动递增的,是按照原理数继续后增而不是从1开始,
解决办法:修改数据库信息,使其符合要求,最终调试出结果。
如图所示:
测试 四:删除帖子是存在错误
环境如下:图
当点击删除按钮后,显示如下信息:
错误原因:通过代码,以及错误信息没能找到具体错误,仔细观察时发现 上图中“ 24”前面有个空格而且在地址栏中显示id=2024 ,经过查看资料发现错误原因为在写代码时 多敲了一个空格。如图
红色字体下id后面多加一个空格。
解决办法:把空格删掉就可以了。
<%
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost/bbs?user=root&password=123456";
Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from article where pid = 0");
while(rs.next()){
str += ""+rs.getInt("id")+" | " + rs.getString("cont")+" |
";
if( rs.getInt("isleaf") != 0){
out.println("到此一游");
tree(conn, rs.getInt("id"), 1);
}
}
try{
stmt = conn.createStatement();
String sql = "select * from article where pid = "+ id;
rs = stmt.executeQuery(sql);
str1="到此已有2了";
while(rs.next()){
m++;
str += ""+rs.getInt("id")+" | " + preStr+ rs.getString("cont")+" |
" ;
if(rs.getInt("isleaf") != 0){
tree(conn, rs.getInt("id"),level+1);
}
}
}catch(SQLException e){
e.printStackTrace();
while(rs.next()){
m++;
str += ""+rs.getInt("id")+" | " + preStr+""+
rs.getString("title")+" | "+"删除"+" |
" ;
if(rs.getInt("isleaf") != 0){
tree(conn, rs.getInt("id"),level+1);
}
}
PAGE
38