[软件工程]功能规格说明书

本文介绍了一款游戏测试工具的设计思路,包括定义相关概念、典型用户分析、界面原型设计等内容,旨在帮助开发者、测试人员和学生等高效地进行游戏测试。

定义相关概念

名称概念
报告指对游戏进行测试获取到的内容反馈整理成文本形式的文件
半任意/半可编辑通过内置测试方案,用户可以组合已有的各种方案达到测试效果,但防止bug,不让用户自主编程

定义典型用户

用户开发者A
身份不知名安卓游戏的开发者
年龄25岁
重要性非常重要,所占比例较大,对本产品需求较高
使用场景测试产品,修改提高产品质量
使用环境工作室、办公室、家中
工作/生活工作就是开发,生活就是工作,压力较大
知识层次/能力熟悉计算机相关知识,有一定的实践经验,但总的开发经验不足
动机/目的提升产品质量
用户偏好希望能精准的测到问题,精准的报告问题
用户开发者B
身份知名公司的安卓游戏测试者
年龄30岁
重要性比较比较重要,所占比例不高,对本产品要求较高
使用场景测试产品,提高工作效率
使用环境工作室、办公室
工作/生活又要加班,又要赶版本进度,可别出岔子
知识层次/能力熟悉计算机相关知识,有充足的实践经验
动机/目的提高工作效率,发布前不要再有bug了
用户偏好对测到问题,测到各个角落的问题有极高的要求,报告也要精准
用户学生C
身份大学计算机系/软件学院学生
年龄20岁
重要性比较重要,所占比例较大,对本产品需求较高
使用场景
使用环境图书馆、教室、宿舍、家中
工作/生活在实践中学习,为将来打下铺垫
知识层次/能力掌握基本的计算机相关知识,实践经验不足
动机/目的学习、完成作业、参赛获奖等
用户偏好主要用于检查、完善自己的作业/作品
用户玩家D
身份各种各样
年龄各种各样
重要性本来极度重要*,所占比例最大,对本产品需求不高
使用场景玩游戏遇到了影响体验的异常,复现异常报告官方
使用环境各种各样
工作/生活各种各样
知识层次/能力多数没有计算机相关知识
动机/目的提高自己的游戏体验
用户偏好复现问题,生成可读报告即可

*在第一天的工作中使用monkeyrunner后发现需要真机连接电脑或者电脑开模拟器才可以使用,这一点与手游的本质相违背。在这种情况下导致玩家群体很可能不会使用本产品,这一方面的问题需要再之后的工作中探索并克服。


界面原型设计

名称内容原型
主页菜单栏可以打开各种功能
logo装饰
3个按键分别打开引导页面、测试页面、文件夹

1632412-20190402003929282-1358224786.png
引导页左右箭头为上一页/下一页
图片是对应步骤的样子
文本为当前需要进行的操作
帮助是我们总结出来的可能的问题以及解决办法

1632412-20190402003948397-181613057.png
测试/报告页顶部按钮分别对应
- 开始测试
- 编辑测试序列
- 编辑文本
- 暂停测试
- 终止测试
- 保存报告
- 删除报告
- 清空当前屏幕
左侧为当前的实时报告
右侧为测试序列

1632412-20190402004014560-131729294.png

使用场景

用户场景
开发A想开发一个手机游戏,开发已经进入尾声,现在需要对游戏进行一些测试,先来一波黑盒测试吧,假设现在的产品那到用户手里会怎么样,乱点一通会不会有问题,如果随意乱划、长按又会怎样?这时,A打开了本程序,他先直接来了一波内置的自动测试,一直运行。突然程序识别到他的游戏卡住了,自动停止了运行,并且在实时报告上显示卡死。这时,A就开始对报告进行审查,最终找到了问题根源并且解决了。
学生C大三了,这次有个游戏设计的小比赛,他准备一展身手。好不容易写完了,自己试试,发现有问题,找啊找,终于找到原来是如此如此这般这般操作引起了bug,累死了,还要debug。搞定了一个之后,想要继续,但是这也太麻烦了,于是打开本程序,设定好一系列操作,让它自动跑起来,结果轻轻松松就找到了问题。
玩家D跟平常一样打开常玩的游戏,玩着玩着莫名其妙闪退了,问题不大,重开继续,结果关键时刻又闪退了,怎么回事。他很想反应这个问题,但是又说不出个所以然来,于是他打开本程序,凭记忆把之前的操作大致设定一遍,果然找到了问题,于是他向官方发邮件反馈问题,官方收到了详细的报告很快修复了问题,他又能正常玩游戏了。

功能描述及验收标准

功能检查项验收标准
UI按钮点击之后有视觉反馈,并且会执行相应功能
UI菜单点击之后有视觉反馈,并出现下拉框
UI文本双击之后可进入编辑并出现光标,会自动暂停测试
UI整体排版美观,主要功能显眼突出,次要功能也能轻易发现
测试逻辑内置自动测试能够一直随机运行,直到被暂停、终止、关闭或发现问题
测试逻辑可编辑测试能够对用户行为进行半任意组合,从而达到测试目的
报告生成报告简明性、准确性报告应该在发现问题时停止,每一步的内容最终对应操作并被翻译为如"点击按钮A"而不是"点击(xxx,xxx)"坐标
报告生成排版符合Windows记事本一般规则的换行,不能是一团
图像识别识别精度能对随机拿出的特定类型界面的游戏进行准确识别
引导界面引导跳转不是主要功能,最低标准能让没用过的人按着引导使用程序,较高标准可以是能够识别连接设备的状态,自动跳转相应步骤

潜在副作用

  • 如典型用户D,如果不解决必须连接电脑才能使用的问题,将会流失很大一部分可能的用户
  • 可能会有用户担心识别屏幕会对其隐私造成侵害而不使用
  • 报告仅仅是体现现象上的问题,最终问题的解决终究要通过代码,对与开发者用户来说,这方面的帮助不大

转载于:https://www.cnblogs.com/buaatbxl/p/10640190.html

引言 1.1编写目的 图书管理系统详细设计是设计的第二个阶段,这个阶段的主要任务是在图书管理系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。 概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。详细设计则要解决如何实现各个模块的内部功能,即模块设计。具体的说,模块设计就是要为已经产生的图书管理各子系统设计详细的算法。但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述, 直接翻译、转化为用某种程序设计语言书写的程序。 1.2 参考资料 《实用软件工程》 《Oracle数据库》 《数据结构》 《软件工程概述》 2.软件结构 3.模块描述 3.1 模块名称 登陆模块 3.1.1功能描述 (1)功能类型:查询数据 (2)功能描述: 提高系统的安全性 (3)前提业务: 无 (4)后继业务: 02管理模块 (5)功能约束:权限约束 3.1.2类属性和类方法 3.1.3 重要的算法 进行对索要登陆人员进行信息注册,给予所登陆的账号进行登陆,并且进行验证。 3.2 模块名称 管理模块 3.2.1功能描述 (1) 功能类型:其他 (2)功能概述: 总体归纳图书馆管理功能 (3) 前提业务:登陆模块(01) (4) 后续业务: 021, 022, 023, 024, 03(5)功能约束: 权限约束 (6) 约束描述: (7) 操作权限:图书馆管理人员 3.2.2类属性和类方法 3.2.3 重要的算法 1).图书编号生成(自动生成)录入时自动生成,对于新书的编号,显示添加图书完成后的页面中 2).图书信息修改(即对该类图书总量能修改,包含图书的编号 数据库操作,根据数据库显示修改之前,后的页面 3).注销(破损图书) 数据库操作,注销页面 唯一编号--检索出先关书籍信息--删除 4).查询 3.3 模块名称 (031)图书信息查询模块 3.3.1功能描述 (1) 功能类型:查询数据 (2)功能概述: 显示查询结果 (3)前提业务: 无 (4) 后继业务: (5) 功能约束:没有约束; (6)约束描述: (7)操作权限: 面向所有用户 3.3.2类属性和类方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值