分析报告的目的主要是对比用户需求和实际实现情况。其他开发人员有可能会阅读此文档,因此它是为了帮助他们更好的理解和应用此系统而编写的报告。
a.测试的软件为图书管理系统
b.测试环境:dev C 实际环境 dev C
任务提出者:老师
可能存在的影响:老师对此题目的要求比较宽泛,也就是没有详细的说明都需要实现哪些功能。在开发时可能会出现功能不符合要求或者功能无法满足要求的问题。
1.图书管理系统需求文档
测试进程 |
测试内容 |
实际工作内容 |
单元测试 |
删除书籍 添加书籍 编辑书籍 查看订单 编辑订单 搜索书籍 查看店家推荐 显示当前书 |
删除书籍 添加书籍 编辑书籍 查看订单[1]买家 [2]卖家 编辑订单[1]买家 [2]卖家 搜索书籍 查看店家推荐 显示当前书 |
集成测试 |
按买家和卖家这两种不同的身份先来测试每个模块,再测试在不同身份下这些功能是否正常使用。 |
在实际中发现应该先将买家和卖家各自所需的功能函数能否正常调用,再看这些功能是否真正实现。实际上又混合采用了自顶向下的集成方法。 |
功能测试 |
按需求功能对照着开发的系统进行每一个功能的测试 |
按需求功能对照着开发的系统进行每一个功能的测试 |
性能测试 |
产生错误数据,进行分析。 |
实际原因并未能产生足够多的测试用例,因此无法进行性能的评估。 |
测试功能 |
动态输出结果 |
输出要求 |
Struct book |
书籍名: NJKK 作者: Jinh 价格: 200.000000 库存: 200 销量: 0 简介: 英国名著 分类: 爱情 上架时间:2017年4月10日10时24分25秒 |
输出一本书的信息来证明书籍这个类的创建成功。 |
Struct order |
订单号:1497234487 书籍名: NJKK 作者: Jinh 价格: 200.000000 库存: 200 简介: 英国名著 分类: 爱情 收货人: 小方 收货地址: 西安电子科技大学 联系电话: 123456789 状态: 已付款 物流: 未发货 评价: 买家账号:971027 |
能够显示订单中的书籍信息和卖家所填信息。 |
add_book |
书籍名: 软件工程 作者: 杨卫东 价格: 79 库存: 10 简介: 图灵计算机科学丛书 分类: 计算机 上架时间:2017年4月13日10时31分27秒 |
添加一本书并在书籍库中可见,表示添加成功 |
delete_book |
输入你要删除的书本名称: 软件工程 删除成功 |
在书籍库中删去这本书。 |
add_order |
请输入您要购买的图书名称:软件工程 收货人: 小方 收货地址: 西安电子科技大学 联系电话: 123456789 状态: 已付款 物流: 未发货 评价: 买家账号:971027 |
输出当前订单,并显示付款状态和物流状态以及买家评价 |
Search_order |
[1]应可以选择是否申请退款(买家) [2]可以选择是否发货(卖家) |
此函数应实现两个功能。
|
recommend |
1.店长推荐(销量最高): 书籍名: NJKK 作者: Jinh 价格: 200.000000 库存: 199 销量: 1 简介: 英国名著 分类: 爱情 2. 店长推荐(最新上架): 书籍名: NJKK 作者: Jinh 价格: 200.000000 库存: 200 销量: 0 简介: 英国名著 分类: 爱情 上架时间:2017年5月8日19时45分32秒 |
店长推荐应分为两种实现。
|
动态输出 |
输出要求 |
|
买家构件 |
输入买家账号: 971027 1.显示书籍 2.搜索书籍 3.添加订单 4.搜索编辑订单 5.显示订单 6.店长推荐 7.退出登录: |
对买家这个构件先进行测试,即在买家界面中可以看到买家可操作的各种功能,并执行可操作的功能。 |
卖家构件 |
1.添加书籍 2.删除书籍 3.显示书籍 4.搜索编辑书籍 5.显示订单 6.搜索编辑订单 7.退出登录: |
对卖家构件进行测试,要求同上。 |
软件功能 |
动态输出 |
输出要求 |
卖家添加书籍 |
卖家收到提示(是否添加成功)可在【显示书籍】功能中查看是否添加成功 |
卖家在自己的登录界面内操作此功能,书籍信息必须完整否则添加失败。 |
卖家删除书籍 |
卖家收到提示(是否删除成功)可在【显示书籍】功能中查看是否删除成功 |
卖家在自己的登录界面操作此功能,要求给出提示信息。 |
卖家编辑书籍(可修改书籍的任意一条或几条信息) |
可在【显示书籍】功能中查看,并覆盖原始的书籍信息 |
卖家在自己的登录界面操作此功能,所修改书籍的信息可以是一条也可以是多条,最后给出提示信息。 |
卖家查看订单 |
显示所有订单信息 |
卖家在自己登录后的界面操作此功能,可查看所有订单,不论订单失败或成功。 |
卖家编辑订单(即选择是否发货) |
已发货/跳回上一界面 |
卖家在登录后的界面操作此功能。输入订单号即可选择是否发货。操作完成后给出相应提示。 |
买家登录 |
买家功能页面 |
买家输入账号后即可登录。 |
买家搜索书籍 |
按书籍是否存在输出的结果不同 |
买家在登录后可查看当前所有书籍信息。 |
买家购买书籍(添加订单) |
[1]询问是否付款 [2]提示买家书籍不存在 |
买家在登录后可购买书籍,在输入书籍名称后,若此书存在,并库存满足需求,且个人信息填写准确,即可购买。否则,均不可购买。 |
买家编辑订单 |
[1]提示买家是否申请成功 [2]选择y:提示买家付款成功 选择n:跳转至上一界面 |
买家登录后可对自己的订单进行申请退款的操作。 |
买家查看订单 |
订单详细情况(包括书籍名 分类 收货人…….) |
买家在登录后可查看当前此账户的订单情况 |
买家查看店家推荐的书 |
[1]若之前有订单,推荐销量最高的一本书 [2]无订单历史,推荐最新上架的一本书即可 |
买家在登录后可查看店长推荐。店长推荐原则上只推荐一本书,推荐哪本书根据是否有订单决定。若有订单,则推荐销量最高的图书;若无订单,则推荐最新上架的一本。 |
显示当前书(卖家+买家) |
所有书本信息 |
卖家和买家均可查看当前所有书籍信息。 |
这个环节的测试我们无法完成,在这不做说明。
此处按照PPT上的要求进行划分
在开发的系统中,对于客户管理做的比较少,或者把客户管理理解为一种客户对于书籍的操作。在此系统中,客户可对书籍进行查看,购买。对自己的订单可以进行付款,申请退款等操作。
对于客户管理的理解或许过于浅显,应当开发一些卖家管理客户的功能,或更贴近于需求的功能。
书籍管理在此系统中是卖家可进行的操作。卖家可对书籍进行添加、删除、编辑、查看的操作。
对于查看书籍这个功能来说,此系统是将先前设定的两本书编写至代码内部。未连接数据库,所以查看书籍的功能实现的非常简单。但数据一旦增加,卖家查看书籍就会变成毫无章法的简单列举。
对于订单的编辑这是一个买家和卖家均可进行的操作,只是操作的功能不同。对于买家可对订单进行是否付款的操作,卖家可对订单进行是否发货的操作。
订单的查看也是一个买家卖家均可进行的操作,输入订单号即可查询。
订单的添加只对买家开放,买家可选择自己购买的图书。
订单的查看是一个买家卖家均可进行的操作,但对于订单查看来讲,其查找的关键是订单号,而订单号在此系统中又是随机生成,这给查找订单带来了极大的不方便
这个功能也是对买家开放。买家可查看推荐的书籍。推荐的方法有两种,一种是没有订单的情况下推荐最新上架的图书,一种是有订单的情况下推荐销量最高的图书。
此处的推荐是根据大部分买家的喜好来定(有订单的情况下),若能根据用户的历史订单来推荐相同分类的书会更好。
此系统是网上书店系统。对于老师要求的客户管理、书籍管理、订单管理、书籍推荐四个功能实现了大部分。列举如下:
卖家添加书籍 |
卖家删除书籍 |
卖家编辑书籍(可修改书籍的任意一条或几条信息) |
卖家查看订单 |
卖家编辑订单(即选择是否发货) |
买家登录 |
买家搜索书籍 |
买家购买书籍(添加订单) |
买家编辑订单 |
买家查看订单 |
买家查看店家推荐的书 |
显示当前书(卖家+买家) |
1.由于代码本身和开发者技术水平的原因,并不能对此系统的性能做很好的评估。
2.由于对需求理解的问题,使得一些功能的实现与要求并不十分符合。
3.没有可视化界面,控制台的方式操作十分麻烦。
4.没有连接数据库,使得原本保存的书籍信息较少,测试时无法产生足够多的数据。也使得每次操作的结果无法保存,每测试一次,都必须重新输入数据,太过繁琐。
1.更深层次的理解用户需求,并对用户需求进行更为详尽的划分。帮助开发者更好的理解与实现。
2.可适当地学习一些前端语言,使用户体验更好。
整体上看,此系统完成了用户的大部分需求,是可以交付的。
测试机时消耗:大约32个小时