1.1 软件和需求

软件(Software)

软件是计算机程序、程序所用的数据以及有关文档资料的集合。程序,数据以及文档都是测试的对象。

软件可以分为两大类:系统软件和应用软件。

  • 系统软件:系统软件是生成、准备和执行其他程序所需要的一组文件和程序。如操作系统Windows,用户接口,驱动程序(显卡,声卡)等;

  • 应用软件:计算机用户为了解决某些具体问题而购买,开发或研制的各种程序或软件包。如各种App,QQ,百度等。

通常情况下,软件测试绝大部分的测试对象是应用软件。

架构

单机软件:只在一台计算机中就可以运行的软件。

特点:独立使用,企业级开发中单机软件较少。

C/S:client-server:由客户端和服务器端组合才能够使用的软件。

特点:每次更新都需要更新服务端与客户端。比如说超市收银系统每次更新,每台电脑都必须升级客户端,特别是有分店的情况。人力物力财力消耗都很大。

B/S:browser-server:通过浏览器连接到服务器端进行使用的软件。

特点:只需要更新服务器就可以,不需要去更新浏览器,用户主动性比较高。比如淘宝网等。

需求(Requirement)

需求是用户要求软件系统必须要完成的任务和程度,需求不仅仅包含通常意义上的产品功能,还包含行业规范中定义的标准等隐含需求。软件公司从用户处获取需求,并按照需求生产软件。

软件需求规格说明书(Software Requirements Specification SRS)是软件工程中,对在特定环境下要完成一定功能的软件产品、程序或一组程序的说明。项目团队遵照软件需求规格说明书进行软件的架构、开发、测试和验收。