天天看点

【第四组】场景+用例文档+功能说明书+技术说明书+测试文档,修改时间:2017/07/18...

场景

工作项序号:001 查看导入的图片

背景:

1) 典型用户:罗小欧[主要]、朱小叶[主要]

2) 用户的需求/迫切需要解决的问题

a. 罗小欧:出去玩拍了好多照片,想要在一个地方看到这些照片。

b. 罗小欧:把照片放到了好几个文件夹,每次都要点开好几个文件夹,好麻烦。

c. 朱小叶:我就想静静的欣赏下我们拍的照片。

3) 假设:

a. 用户已经拍摄好照片

b. 用户指定的照片路径无误

场景:

罗小欧打开我们的TOUCH App,进入设置界面,添加他存放照片的各个目录。添加成功后,他返回TOUCH主界面(也就是图库界面)。稍等一会,等待系统扫描图片完毕,他就可以看到这几个文件夹里的所有图片,都按照时间顺序罗列在图库界面中了。所有文件夹里的所有图片都在同一个界面中按照时间顺序罗列出(新的图片在列表的最上面,旧的在最下面)。

朱小叶利用相同的操作,添加图片文件夹,就可以在图库看到照片。现在她就可以欣赏拍摄的照片了。

用例文档

标题:查看照片

角色:用户

主要成功场景:

1. 打开软件

2. 进入设置界面

3. 添加照片文件夹

4. 返回图库界面

5. 等待图片扫描完成

6. 查看图片

扩展场景:

5.1. 添加的文件夹中没有图片

5.2. 图片个数过多,导入失败

6.1. 查看的图片过大,加载失败

功能说明书

目标:用户能查看到他指定的文件夹的照片

用户:希望查看照片的人

术语:

1. 图库:按时间顺序显示所有图片的界面

如何使用:

1. 打开软件

2. 点击软件左侧的汉堡菜单中的最后一个齿轮图标-设置按钮

3. 进入设置界面

4. 设置界面为一个可上下滚动的界面(如果当前屏幕装不下所有内容的话),界面从上到下的第一部分为“图片来源文件夹”

5. “图片来源文件夹”中罗列出用户添加过的所有文件夹完整路径名,每个路径名的右侧有一个打叉的按钮-删除按钮,点击后可以删除某条文件夹记录

6. 罗列出所有文件夹路径后,下面有一个加号按钮-添加图片文件夹的按钮,点击添加按钮

7. 弹出一个外部对话框,可以点击选择电脑中的文件夹

8. 选择好文件夹后点击确定

9. 在“图片来源文件夹”中可以看到新添加的文件夹

10. 通过点击汉堡菜单中的第一个照片按钮-图库按钮可以返回图库首页;或者点击整个软件的左上角的返回按钮,返回图库首页

11. 等待图片扫描完成

12. 等待扫描时,图库界面的右上角有一个循环的按钮一直在循环滚动,代表正在扫描新图片。停止不动时,代表扫描完成

13. 扫描完成后,用户可以点击任意一张图片,查看图片的大图,此时进入查看图片的界面

边界条件:

1. 界面暂时只支持中文

2. 初版不做软件优化,所以文件夹内的图片个数不能太多

3. 同理,每张图片不能太大

测试目标:

1. 软件查看用户添加的所有文件夹内的内容

2. 软件能识别出文件夹内的所有图片

3. 图库界面能显示所有图片

4. 所有图片能按照时间的顺序显示

数据收集:

1. 导入图片需要的时间

2. 添加文件夹功能的使用频度

3. 文件夹内的文件类型

4. 导入图片的大小

技术说明书

1. 界面

a. 汉堡菜单 MainPage

i. 左侧有一个SplitView,利用VisualStateManager可以根据窗口大小实现自动显示隐藏

ii. SplitView中的Pane分为4行,分别为汉堡菜单button,主选项的ListView,一个分隔符,次选项(如设置等)的ListView

iii. SplitView的Content放一个frame控件,用于页面切换

iv. 页面切换时,如果要跳转的page等于当前page,则不跳转

b. 图库 GalleryPage

i. 顶部有一个CommandBar,显示标题

ii. 包含一个girdview,gridview里一行默认有4个item,每个item里显示一张图片

iii. Gridview可以根据窗口大小实现自动切换里面item的大小和个数

iv. 所有图片来自于文件夹内扫描的图片

2. 类

a. 汉堡菜单项 HambugerMenuListItem

i. 属性:图标、名字、跳转的page

b. 图片 Image

i. 属性:图片路径 ImageUrl

1. 图片在磁盘中存放的位置,绝对路径

2. 文件夹扫描出的所有图片,把路径赋值给ImageUrl

3. 算法

a. 扫描文件夹内的图片

i. 第一版只扫描文件后缀为.jpg .jpeg .png的图片

ii. 扫描时记录这些图片的绝对路径

iii. 将这些路径记录在本地存储里

测试文档

测试功能:存储文件夹路径的SQLite数据库

测试类名:FolderDatabase

被测试类的主要功能:

1. 初始化数据库和表

2. 添加一条记录

3. 依据主键删除一条记录

4. 返回所有记录

单元测试类名:FolderDatabaseUnitTest

单元测试时间:2017/07/18

单元测试函数:

1. CleanCreateTest:如果已经存在数据库,删了重新创建一个

2. DuplicateCreateTest:重复初始化两次数据库

3. InsertAndGetFoldersTest:插入并读出数据

4. DeleteAndGetFoldersTest:删除并读出数据

单元测试预期结果:

1. 创建成功,Assert.IsNotNull(数据库文件)

2. 捕获异常,ExpectedException(typeof(InvalidOperationException))

3. 插入的数据能够被读取出来,Assert.AreEqual(插入的数据, 读出的数据)

4. 被删除后的数据不能被读取出来,Assert.AreEqual(插入并未被删除的数据, 读出的数据)

单元测试结果:

【第四组】场景+用例文档+功能说明书+技术说明书+测试文档,修改时间:2017/07/18...

全部通过!

数据库类

【第四组】场景+用例文档+功能说明书+技术说明书+测试文档,修改时间:2017/07/18...

对应的单元测试

【第四组】场景+用例文档+功能说明书+技术说明书+测试文档,修改时间:2017/07/18...

文件夹路径 model

【第四组】场景+用例文档+功能说明书+技术说明书+测试文档,修改时间:2017/07/18...

对应的单元测试

【第四组】场景+用例文档+功能说明书+技术说明书+测试文档,修改时间:2017/07/18...

转载于:https://www.cnblogs.com/TonyZZX/p/7202620.html