软件测试
软件测试(1)
一 、软件
1、什么是软件?
程序+文档(需求规格说明书)= 软件(微信、微博等)
计算机=硬件(cpu、显卡、键盘等)+软件(QQ、微信等)
注意:测试对象是软件 既要测试程序也要测试文档
扩展:软件开发的阶段划分(生命周期)
A、需求分析阶段
由需求分析人员完成,产出物:<需求规格说明书>
B、设计阶段
由系统构架师(分析师)完成,产出物:《概要设计说明书》《详细设计说明书》
C、编码阶段
有程序员(开发人员)完成,产出物:程序(代码)
面试题:哪个阶段引入bug最多,哪个阶段最少?
需求分析阶段引入的bug最多(55%左右)
设计阶段(25%左右)
编程阶段(15%左右)
二 、什么是缺陷
1、定义缺陷方式1(5种)
说明:五种定义顺序无关,只要满足其中任意一条就是bug
1、需求要求的功能没有实现
2、实现了需求没有要求的功能(画蛇添足)
3、软件出现了指名不应该出现的错误
4、需求虽未明确说明,但是应该出现的功能没有实现(说明:需求可能存在遗漏,但测试人员要专业,不能因为需求有遗漏,就导致测试也跟着遗漏)
5、软件运行缓慢、不宜使用、难以理解等,站在用户角度,一切不好的地方都可以定义为bug
2、定义缺陷方式(了解)
IEEE给缺陷的定义:
A、从软件产品外部来看(黑盒测试):缺陷是系统所需要实现的某种功能的时效或违背
B、从软件产品内部来看(白盒测试):缺陷是软件产品开发或维护的过程中存在的错误、毛病等各种问题
C、缺陷的同义词错误、异常、毛病、问题等功能的违背
三 、什么是软件测试
1、软件测试定义: 简单来说就是从现有的软件中 尽可能多的查找缺陷的过程
重点:
a、测试人员的任务不是消灭缺陷,而是尽可能多的找bug
b、不是只有查找缺陷才是测试,只要完成了查找的过程就是测试,无论是否找到bug
四 、计算机的层次
1、计算机硬件(裸机)
2、操作系统
A、常用的操作系统有哪些?
答:
(1)Windows操作系统:
优点:简单、易用、市场大
缺点:安全性和稳定性较差、在服务器的os领域
中,占有率较低
(2)Unix操作系统
特点:安全性和稳定性较高,可以支持二次开发,在服务器操作系统领域中Unix有很好的表现。
(3)Linux操作系统(自由软件、免费、开源)
特点:稳定性、安全性较高,支持二次开发,免费、开源,在服务器操作系统领域拥有较大的用户量
eg:BAT等软件公司的服务器都是使用Linux系统二次开发后,满足企业的需求
Mac系统1981年生产,是世界上第一款可视化的os,特点:对于图形、图相的设计有很大的优势
Dos系统(微软):1981年微软公司为IBM的第一款pc机开发的dos系统,特点:命令式,单用户
命令:查看本机ip地址在运行中输入cmd,按回车可以进入Doc系统,在命令中输入:ipconfig
3、应用软件
五 、软件的分类
1、基本分类
A、系统软件
1.系统软件
2.操作系统的补丁程序
3.驱动程序
B、应用软件(工作中主要测试的各类应用
娱乐类:游戏、阅读类、播放类、社交类
办公类:office、WPS、OA等
设计类:平、美图秀秀、3DMAX、CAD等
管理类:客户管理类、招标管理、医疗管理类
数据管理类:数据库-MySQL、Oracle、SqlServer
2、按结构分类
A、单机软件
特点:不需要网络就可以应用的软件,eg:word、单机小游戏
B、分布式软件(有网络)
特点:需要网络才能应用,eg:微信、QQ等
1、c/s结构:客户端/服务器
2、b/s结构:浏览器/服务器
区别:
c/s结构需要在客户端安装专门的客户端应用程序,eg:QQ
b/s结构不需要在客户端安装专门的客户端应用程序,用公共浏览器即可,eg:百度网址(需要做浏览器兼容测试)
主要浏览器:IE、Firedox、Chrome、safari等