分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
![](https://i-blog.csdnimg.cn/blog_migrate/ec71ecc6b301c45f17b981ebc1cca2bb.jpeg)
在项目启动之后,就要着手软件项目的计划,包括软件测试计划。软件测试计划是整个开发计划的组成部分,同时,它又依赖于软件组织过程、项目的总体计划、质量文化和方针。在测试计划活动中,首先要确认测试目标、范围和需求,其中“测试需求分析”是关键任务,然后在测试需求基础上制定测试策略,并对测试任务、时间、资源、成本和风险等进行估算或评估。
无论何时进行估算,我们都是在预测未来,并会接受某种程度的不确定性。软件项目计划的目标是提供一个框架,不断收集信息,对不确定性进行分析,将不确定性的内容慢慢转化为确定性的内容,该过程最终使得项目测试负责人能够对资源、成本及进度进行越来越合理、准确的估算。这些估算是软件项目开始时在一个限定的时间框架内做出的,并且随着项目的进展而不断更新。所以,测试计划强调的是一个过程,计划(Planning)的过程,而不仅仅是为了一个文档——“测试计划书”(Test Plan)。
测试计划活动过程伴随着需求文档的审查,而需求文档的评审反过来也有利于测试计划的制定。而且,测试计划必须建立在软件需求定义之上,为软件的质量需求验证和确认活动的开展进行规划和指导。
2.1 软件测试的目标和基本需求
在分析测试需求之前,先要确定测试目标,而测试目标的确定,取决于质量要求。虽然在理论上,对软件质量的要求是比较明确的,但对不同的软件开发项目,其质量要求是不一样的。根据特定的质量要求,确定测试目标。然后再根据测试目标,来分析测试需求。
2.1.1 质量要求
关于什么是软件质量,本书在第1.1.1节进行了详细讨论,包括软件产品的质量属性,如功能性、易用性、性能、安全性、兼容性、可用性、可维护性、扩展性等。但是,仅仅根据这些质量属性不够,还要参考业务领域专业知识、行业标准、地方标准或其他规范等,才能明确特定产品的质量要求。只有明确质量要求,才能明确测试目标。让我们先讨论特定软件产品的质量要求。
对质量的具体要求,可以参考国际标准ISO/IEC 25030的相关描述,质量不仅局限于最终用户的需求(通常指外部质量要求、软件使用质量),还要考虑产品或项目的干系人(Stakeholders)的质量要求,包括组织的管理层、系统运维等,对软件内部质量也有具体要求,包括软件的可维护性、可扩充性等。从质量来看,用户的需求会显得更重要,我们会在使用质量(Quality in Use)上有更多的关注,使用质量的具体要求见图2-1。
手机也是大家熟悉的产品,不同的用户群对一部智能手机的要求也是不同的,如低档手机和高档手机有着不同的质量要求、老年人和年轻人对手机也有不同的期望,商务人士对手机也有一些特定的需求(如Blackberry的实实在在的全键盘)。低档手机的质量要求如下。
? 通话正常、稳定。
? 通话质量要有一定保障。
? 待机时间长。
? 安全,电池不能发生爆炸。
? 外观大气美观,不要太重。
? 通讯录、短信、闹钟等功能使用方便。
? 支持手写输入功能。
![](https://i-blog.csdnimg.cn/blog_migrate/4ab98e85f5f48b0795a0ed4f55967f13.jpeg)
但对智能手机,对手感、用户体验、性能、外观质感等有更高的要求。虽然不同的产品类型、不同的应用领域,功能的质量要求是有差异的,但一般来说,通用的功能质量要求如下。
? 程序安装、启动正常,有相应的提示框、错误提示等。
? 每项功能符合实际要求。
? 每一项功能能正常运行、输出结果正确。
? 能处理各种不正常的操作,对异常数据的输入可以进行提示、容错处理等。
? 系统的界面清晰、美观。
? 菜单、按钮操作正常、灵活,能处理一些异常操作。
? 能接受正确的数据输入,如测试最大输入的文字数、单双字节、特殊符号等。
? 数据的输出结果准确,格式清晰,可以保存和读取。
? 功能逻辑清楚,符合使用者习惯。
? 系统的各种状态按照业务流程而变化,并保持稳定。
? 支持各种应用的环境。
? 能配合多种硬件周边设备。
? 软件升级后,能继续支持旧版本的数据。
? 与外部应用系统的接口有效。
用户界面(User Interface,UI)是和用户进行交互的窗口。仅从这一点,就可以清楚地知道用户界面友好程度的重要性。用户界面是否友好直接影响用户对软件产品或软件服务的满意度,即我们经常提到的用户体验,用户界面设计就是给用户一个良好的体验,不仅使用软件简单、方便和明了,而且心情舒畅、愉悦。对于Web应用,更强调网页内容和文字表述,但这些往往是开发人员容易忽视的地方。对于开发人员来说,注意力常常集中在功能的实现上。文字不仅误导用户的操作或影响用户的体验,而且有时可能会引起法律方面的问题。测试人员应确保内容表达符合习惯,更专业、流畅,有时需要招聘1~2个语言学(文学、中文、英文、日文等)专业的人员参加测试队伍。在UI上,主要的质量要求如下。
? 通用框架、浮动窗口和文字等整体上布局合理、位置恰当。
? 文字没有乱码、换行正常,而且内容格式、顺序正确。
? 文字标记和超链接可以打开和跳转成功。
? 色彩搭配要协调,要形成对比强烈的色彩效果,也要恰到好处。
以前面Google Talk作为例子,其产品的质量要求一定会包括功能正确、性能好、易用,但这样的质量要求还不够明确,对设定测试目标帮助不大,还需要进一步分析其质量要求。对于功能,可以逐条列出其主要功能,然后分析功能在质量上有没有一些特定的要求。例如:
(1)支持语音、视频通话,就要确定语音、视频通话的质量要求,是否支持电信级业务服务水平即严格的QoS标准(服务质量)?支持高清视频(如720p、1080p等)通话吗?视频通话质量能够根据网络状况可调整吗?语音在延迟、回声、噪音、颤音等上面有具体的质量要求吗?视频通话对带宽最低限制是多少?
(2)是否支持基于行业标准的会话发起协议(SIP)?
(3)单击姓名打开聊天窗口,可同时打开任意多个聊天窗口。可能就会问,最多能打开多少个窗口?有没有性能问题?
(4)邮件、通讯录等涉及个人隐私,在安全性上有什么要求?
(5)口令设置有哪些参数约束?这些约束能否保证其较高的安全性?
(6)好友列表有没有限制(容量问题)?
(7)不同颜色的小球图标及不同的符号表示好友的在