测试基础概念
第一讲 windows基础
一、软件(software)
计算机(computer)=硬件(hardware)+软件
软件=程序(program)+文档(document)
注意:
测试对象:既要测试程序,又要测试文档。
扩展:软件开发的阶段划分
1、需求分析阶段
由需求分析人员完成
产出物:《需求规格说明书》
2、设计阶段
由系统架构师(分析师)来完成设计工作。
产出物:
《概要设计说明书》
《详细设计说明书》
3、编码阶段
由开发人员完成
产出物:程序
面试问题:
哪个阶段引入的bug最多?哪个阶段最少?
需求分析阶段引入的bug最多(大概占bug总数的55%左右);其次是设计阶段(大概占缺陷总数的25%左右);编码阶段引入bug最少(只占缺陷总数的15%左右);还有5%左右的bug是由兼容性问题和配置原因造成的。
由此得出结论:1)测试工作不能只测程序,文档也必须要测;2)测试工作应该要尽早介入,并且要贯穿整个开发过程始终。(尽早测试原则、不断测试原则)
尽早测试可以降低解决缺陷的成本。
二、软件缺陷(defect \bug )
1、软件缺陷定义1(5条):(重点)
说明:5条缺陷定义,与顺序无关,满足其中任何1条就是缺陷。
1)需求中要求的功能没有实现。
2)实现了需求中没有要求的功能.(画蛇添足)
3)需求中虽未明确说明,但是应该实现的功能没有实现。
说明:需求不是完美的,有可能有遗漏,不能因为需求有问题,就导致测试也有问题。
4)软件中出现了指明不应该出现的错误。
扩展:软件的两个基本要素
a)软件的功能要能够实现。
b)软件要有强大的异常处理能力。(健壮性)
5)软件不易使用、难以理解、运行缓慢等,站在用户角度上,一切不好的地方。
2、软件缺陷定义2:
IEEE(美国电气和电子工程师协会)对软件缺陷的定义 (了解)
1)从软件内部去看(白盒测试方式)
2)从软件外部去看 (黑盒测试)
3、缺陷的同义词
错误、毛病、异常、功能失效、违背等
三、软件测试(Test)
1、简单来说:软件测试就是从现有软件中,尽可能多的查找缺陷的过程。
说明:1)软件不是完美的,测试人员的职责不是消灭缺陷,而是尽可能多的查找缺陷。
2)软件测试是查找缺陷的过程,只要完成查找缺陷的过程就是测试,无论找到还是没有找到bug。(企业鼓励测试人员多发现bug)
2、测试人员的日常职责
设计、编写《测试用例》-->执行测试-->记录测试结果-->分析结果,如果发现bug,要提交《缺陷报告》给开发方。
四、计算机的层次
1、层次
1)计算机的硬件(裸机)
2)操作系统
3)应用程序
2、说明
1)os: operating system 操作系统
2)os的作用:实现对整个计算机中的软件和硬件的统一管理。
3)常见的面试题
Q1:裸机中有软件吗?
有软件,裸机中的软件是“BIOS”(basic input output system)基本输入输出系统,安装在计算机主板的“CMOS”芯片中。
“BIOS”程序的作用:计算机通电后由“BIOS”程序首先获取控制权,对计算机进行“上电自检”。--就是通电后,BIOS程序会对所有的硬件设备的连接进行检查,如果连接完好,BIOS会将控制权转交给OS,系统启动;如果连接有问题,BIOS会启动蜂鸣器,发出报警音,同时阻止OS的启动。
扩展:
1)如何进入BIOS程序
台式机:开机后,按“Delete”键
笔记本电脑:开机后,常按“F2”或“F8”,如果都不是可以百度搜索。
提示:不要盲目修改BIOS设置,如果有需要改,可以参考资料。
Q2:说出常用的操作系统有哪些?(至少4种)
1)windows系统(微软)
优势:简单、易用
使windows系统拥有大量的个人用户。(桌面之王)
缺点:稳定性、安全性较差
windows系统在服务器操作系统领域占有率较低。
2)Unix系统(贝尔实验室 收费 1969年启动)
特点:稳定性、安全性优秀 ,还可以进行二次开发。(可以根据用户要求改系统)
所以:Unix在服务器操作系统领域占有一定的市场份额。
3)Linux系统(自由软件,免费,开源)
特点:稳定、安全、免费,开源,支持二次开发。
所以:在服务器操作系统领域,Linux系统,占有较高的市场份额。
例如:BAT等一流的软件企业都使用Linux做服务器OS,但是都是经过二次开发,改造成适应企业需求的系统平台。
Linux是测试人员必须掌握的操作系统,常见命令需熟练掌握。
4)Mac系统(苹果计算机)
1981年世界上第一款可视化的OS.
特点:在设计方面有优势。适合对图像、图形进行处理。
5)DOS系统(disk os 磁盘操作系统)
是微软公司的第一框os(1981年 为IBM公司研发)
dos是命令式的操作系统。
注意:查看IP地址的dos命令。
命令:ipconfig
五、软件的分类
1、基本分类
1)系统软件
l 操作系统
l 操作系统的补丁程序
l 驱动程序
2)应用软件(工作中比较大的机率测试应用软件)了解
(a)办公类:office、WPS等
(b)图形、图像设计类:ps(photo shop)、美图秀秀、3dmax、CAD等
(c)娱乐类:游戏、播放器、阅读器等
(d)社交类:微信、facebook等
(e)管理类:OA(办公自动化管理)、医疗管理、CRM(客户管理类)等
(f)数据类软件:
常用的数据库:
Oracle(甲骨文)
mysql(免费)
DBII (IBM)
sybase数据库
Sql server (微软)
2、按软件结构划分
1)单机软件
不需要连接网络就可以使用。例如:word\单机游戏\压缩软件等
2)分布式软件
需要连接网络才可以应用。例如:QQ\网络游戏\滴滴打车等
(1)C/S结构(客户端client/服务器server)
特点:需要下载安装专门的客户端应用程序,才可以享受服务器提供的服务。
(2)B/S结构(浏览器Browser/服务器Server)
特点:不需要下载安装专门的客户端程序,只需要有浏览器,输入不同的网址就可以享受不同服务器提供的服务。例如:网站(网页)
补充:b/s结构的测试需要做浏览器兼容性测试,常用的浏览器有:
IE、Firefox(火狐)、safari(苹果)、Chrome(谷歌)、Opera(欧洲的欧朋)
还有360浏览器等。