一.软件(software)
1.什么是软件?
计算机=硬件+软件
软件=程序+文档
注意:软件测试的测试对象是程序和文档,不能只测程序,文档也是要测试(评审)。
2. (扩展)软件的开发阶段划分:
(1)需求分析阶段
由需求分析人员完成产出物:需求规格说明书
(2)设计阶段
由系统架构师\分析师完成
产出物:《概要设计说明书》、《详细设计说明书》
(3)编码阶段
由开发人员完成
产出物:程序
面试题:哪个阶段引入的bug最多?哪个阶段引入的bug最少?对测试工作有什么影响?
需求阶段分析阶段引入的bug最多(大概占55%),其次是设计阶段(大概占25%),最少的是编码阶段(大概引入15%左右的bug)--另外还有5%左右的bug是由兼容性问题或配置错误引发的
由此得出结论(对测试工作的影响):
1)不能只测程序,文档也必须要测,需求和设计阶段也要安排有测试过程
2)测试尽早介入,并且应贯穿整个开发周期始终(测试应符合尽早测试原则和不断测试原则)
二.软件缺陷
缺陷--defect、Bug
1.缺陷定义方式(5条):
满足其中任意一条就是bug ,与顺序无关
1. 需求要求的功能没有实现
2. 实现了需求没有要求的功能(画蛇添足)
3. 软件中出现了指明不应出现的错误
4. 需求虽未明确指明,但是应该实现的功能没有实现
说明:需求本身不完美有可能有遗漏,测试人员不能因为需求有问题,就导致测试也跟着出问题,发现bug应报告。(这条是针对需求可能存在漏洞的情况进行的说明)
5. 程序不易使用、难以理解、运行缓慢等,站在用户的角度上,一切觉得不好的地方
面试扩展:软件的两个基本要素
1. 软件功能要能够正确实现--正向测试
2. 软件要有强大的异常处理能力(健壮性)--反向测试
2. 缺陷的近义词
错误(error)、异常(exception)
三.软件测试--Test
1. 软件测试:简单来说就是在现有软件中,尽可能多的查找bug的过程
说明:(1)软件不是完美的或多或少存在bug
(2)测试人员的职责并不是消灭bug,而是尽可能多的查找bug,保证更好质量的软件能够交付到用户手中
(3)软件测试强调排查bug的过程,无论是否找到bug,都是在测试
(4)软件测试人员发现bug,程序员解决bug,从而保证软件质量,所以测试是质量保证的重要环节,属于QA(质量保证)
四.计算机层次
1. 层次
计算机硬件(裸机)
操作系统--OS (operating system)
应用软件--application
2. 扩展:面试问题
Q1:操作系统是什么(作用)?主要功能组成?
操作系统是能够协调管理计算机硬件和软件的系统程序。
操作系统的主要功能组成:
1) 进程管理
2) 设备管理
3) 文件管理
4) 存储管理
5) 作业管理--用户向系统提出的操作请求就是作业
Q2:列举常用的数据库管理系统?
数据库管理系统--DBMS
说明:DB--database数据库
常用的数据库管理系统:Oracle数据库--甲骨文oracle公司、Mysql数据库--甲骨文公司收购(免费版本越来越少,但性价比比较好,适合小项目)、sql server数据库--微软公司(微软产品的主要数据库,但是与其他公司产品兼容性差)
补充两款高端数据库:(在金融行业会有应用)
DB2--IBM公司、Sybase--sybase公司
提示:关系型数据库的公共语言是标准sql-结构化查询语言
Q3:计算机常用的os有哪些(列举5种)
特点:简单.易用.可视化界面,在Pc(personl computer 个人计算机)领域用户占有率最高:
windows系统的稳定性和安全性较差,所以在服务器系统领域用户量较少
2)Ping www.baidu.com--检查与目标地址之间的网络连接的情况
Win+r-->打开运行-->输入cmd-->打开dos-->输入dos命令
五.软件的分类
(1)系统软件
操作系统、操作系统补丁程序、驱动程序
选择题:以下不是系统软件的有哪些?(A、B)
A. Access--数据库
B. 卡巴斯基--杀毒软件
C. Linux--操作系统
D. u盘驱动--驱动程序
(2)应用软件(application)
开发工具软件、科学和工程计算软件、文字和数据处理软件、图形和图像处理软件、事务管理软件、游戏娱乐软件、支持服务工具、数据库管理系统(DBMS)
Orcle. MySQL. SqlServer等还有DB2 .sybase 也是高端数据库。
以上数据库管理系统使用公共的数据库语言--标准SQL(结构化查询语言)
2. 应用软件按结构分类
(1)单机软件
不需要联接网络就可以应用的软件,例如记事本 .单机游戏(扫雷)
(2)分布式软件=C/S结构+B/S结构
需要连接网络才能应用的软件,例如:微信、网络游戏、 百度网站、qq
说明:此处网络不仅指广域网,也包括局域网
1)C/S结构
C:client客户端
S:server服务器
特点:需要用户终端安装专门的客户端程序,才能访问服务器,享受服务器的服务--胖客户端
2)B/S结构
B:browser 浏览器
S:server 服务器
特点:不需要在用户端安装专门的客户端程序,只需要有公共的浏览器,在地址栏输入不同的网址,就可以享受不同服务器提供的服务--瘦客户端
补充:B/S结构对于浏览器是非常依赖的,所以测试B/S结构软件时,需要做“浏览器兼容性”测试,常用的主流浏览器有:
火狐浏览器--firefox safari浏览器---苹果 IE、Edge--微软
Chrome浏览器--谷歌 opera浏览器--欧朋