一、软件(software)
1、什么是软件?
计算机(computer)=硬件(hardware)+软件
软件=程序(program)+文档(document)
注意:软件测试的测试对象?
软件测试的对象是软件,也就是程序和文档,所以提示大家,不能只测程序,测试中文档也是需要测试(审核)的。
2、软件开发的阶段划分?(重点)
步骤1:需求分析阶段
由需求分析人员完成
产出物:《需求规格说明书》
步骤2:设计阶段
由系统架构师/分析师完成
产出物:《概要设计说明书》、《详细设计说明书》
步骤3:编码
由程序员完成
产出物:程序
补充:面试题
1、哪个阶段引入的bug最多?哪个阶段引入的bug最少?
知识点:有哪些阶段、不同阶段的bug占比
首先:引入bug最多的是需求分析阶段(大概占缺陷总数的55%左右)
其次:是设计阶段(大概占bug总数的25%左右)
最后:引入bug最少的是编码阶段(大约只占bug总数的15%左右)
补充:还有5%左右的bug是由于配置原因或兼容性问题造成的。
由此得出结论(对测试工作有什么影响?):
1、需求和设计阶段也需要测试,不能只测程序,文档也是需要测试(审核)的。
2、测试工作应尽早介入,并且贯穿整个开发周期始终。(测试应符合“尽早测试原则”和“不断测试原则”)
二、软件缺陷(defect--bug)
1、定义方式1(5条 重点)
说明:满足其中任意一条就是bug,与顺序无关。
(1)需求要求的功能没有实现。
(2)实现了需求没有要求的功能(画蛇添足)
(3)软件中出现了指明不应该出现的错误
(4)需求虽未明确提及,但是应该实现的功能没有实现。
提示:需求并不是完美的,会有可能有遗漏,测试人员如果发现应该实现的功能没有实现,即使需求没有说明,也是bug。
例:法律,法规
(5) 软件不易使用、难以理解、运行缓慢等,站在用户的角度上,一切觉得不好的地方,都是bug。
常规:等待时间 3,5,8秒
要求:理解的基础上要记住(不是死记硬背,能用自己的话正确表达出来就好)
补充:软件的两个基本要素?
(1)软件的功能要能够正确实现。
(2)软件要有强大的异常处理能力(健壮性)
2、美国电气和电子工程师协会 (IEEE)对缺陷的定义:(理解)
(1)从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;(白盒角度)
(2)从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背 (黑盒角度)
3、定义方式3:缺陷的同义词
异常、错误、毛病、问题、功能失效、与需求违背等
三、软件测试(Test)
1、软件测试:简单来说,就是从现有软件中,尽可能多的查找bug的过程。
说明:
(1)软件不是完美的,或多或少都存在bug。
(2)测试人员的职责不是消灭bug,而是尽可能多的查找bug。
(3)强调测试是查找bug的过程,只要完成查找bug的过程就是测试,无论找到还是没有找到bug。(发现bug是有一定比例的,大概为均值15%-30%之间)
四、计算机的层次
1、层次
(1)计算机硬件(裸机)
(2)操作系统(OS:operating system)
(3)应用软件(application)
补充:常见的面试题
Q1:OS的作用?(常考题)
OS系统作为整个计算机系统的中间平台,可以统一管理计算机的硬件和软件部分,使计算机系统可以协调工作。
Q2:裸机中有软件吗?
裸机中有软件,是“BIOS”程序(basic input output system 基本输入输出系统)。BIOS程序在计算机主板的“CMOS”芯片中。当计算机通电后,第一个启动的是BIOS程序,对计算机进行“上电自检”--计算机通电后,启动BIOS程序对计算机的硬件设备的连接和初始设置进行检查,如果硬件设备连接完好,那么将控制权转交给OS,如果硬件设备的连接有问题,那么BIOS将启动蜂鸣器发出报警音,并且阻止OS启动。
补充:
(1)如何进入BIOS?
台式机:通电后,按“delete”(删除)键
笔记本电脑:常用的F2,F8,如果都不是,就百度查询。
(2)提示:不要盲目对BIOS进行设置,如果有修改的需要可以查找攻略或者请专业人员操作。
Q3:常用的OS有哪些?适用哪些领域?(说出5种)
(1)windows 系统(微软)
优势:简单、易用
领域:拥有大量的pc(personal computer 个人电脑)用户。号称“桌面之王”。
缺点:安全性、稳定性较差
在服务器系统领域windows系统的占有率较低。
(2)Unix 系统(1969年 贝尔实验室 ,收费)
优势:稳定性、安全性非常好,支持二次开发
领域:适合做服务器操作系统。
(3)Linux 系统(自由软件、免费、类Unix)
优势:稳定性、安全性非常好,支持二次开发、免费、开源
领域:是用户占有率最高的服务器操作系统,例如:bat(百度、阿里、腾讯等企业都使用Linux二次开发后做服务器系统)
- Mac 系统(苹果公司 1981年)
优势:mac系统对于图形、图像的处理具备优势。
(5)dos系统(1981年 微软公司)
dos命令: ipconfig
五、软件的分类
1、基本分类
(1)系统软件
1)操作系统
2)系统的补丁程序
3)驱动程序
面试题:以下软件哪些属于系统软件(B D )
A 、ORACLE(数据库) B、Unix C、卡巴斯基(杀毒软件) D、u盘驱动(驱动程序) E、QC(测试管理软件)
(2)应用软件
1) 数据库管理软件(简称:DBMS)
oracle 数据库 (甲骨文公司)
DBII 数据库 (IBM公司)
Sybase数据库 (sybase公司)
mysql 数据库 (甲骨文公司)--免费
SQL server数据库(微软公司)--兼容性差
数据库语言:所有的关系数据库的公共语言是--SQL(结构化查询语言)
2、按结构分类
(1)单机软件
不需要网络就可以使用的软件
(2)分布式软件(重点)
需要连接网络(局域网、广域网)才可以使用的软件
1)C/S结构
C:client 客户端
S:server 服务器
C/S 结构需要安装专门的客户端程序,才可以享受服务器提供的服务。
(可维护性较弱:客户端升级工作量大)
2)B/S 结构
B:browser 浏览器
S:server 服务器
B/S结构不需要安装专门的客户端程序,只需要有公共的浏览器,输入不同的网址就可以享受不同服务器提供的服务
(可维护性强:客户端基本不要维护)
注意:如果进行B/S结构测试,必须要进行浏览器兼容性测试。
主流浏览器:
IE \ Chrome\Firefox(火狐ff)\safari(苹果)\opera(欧朋)