一、软件测试简介
1、什么是软件测试
首先测试的对象是软件,目的是为了找出程序和文档中的缺陷和错误(bug),交给开发人员进行修改,最终保证高质量的软件交到用户手中。
只要完成了查找缺陷的过程就是在做软件测试,无论找到没找到缺陷。
2、我们身边的软件缺陷
Windows自带的记事本程序的缺陷:
1.第一次创建写入中文保存关闭再打开出现乱码--中文乱码
2.第一次创建写入.LOG保存关闭再打开会多一行时间,每一次保存关闭打开都会多一行时间--容易被黑客利用
Android手机软件后台安装缺陷
12306购票网站系统崩溃事件性能缺陷
3、测试岗位介绍及职业规划
手工测试
功能自动化测试:自动化工具,代码编码能力
性能自动化测试:自动化工具,网络知识,代码编码能力
白盒测试:通过直接检查代码找缺陷,对程序开发能力要求高
二、软件测试基础
1、软件=程序+文档
2、软件开发阶段划分
需求分析:需求分析人员,产品经理,得出《需求规格说明书》--缺陷比例55%左右
设计阶段:系统架构师,分析师,得出《概要设计说明书》到《详细设计说明书》--缺陷比例25%左右
编码阶段:开发人员,程序员,得出程序(源代码)--缺陷15%左右
最后兼容性和配置问题等缺陷5%左右
3、测试工作不能只测程序,文档也要测;测试工作应该尽早介入,且贯穿始终(尽早测试原则和不断测试原则)
4、缺陷定义一(5条,满足一条就是defect)
- 需求要求的功能没有实现,不满足功能
- 实现了需求没有要求的功能,画蛇添足
- 软件中出现了指明不应该出现的错误,软件应该具有强大的异常处理能力(健壮性),能够在用户的错误操作情况下保证程序的继续运行
- 需求虽未明确提及但是应该实现的功能没有实现,如程序至少应该是合法的
- 软件难以理解,不易使用,运行缓慢等站在用户的角度一切觉得不好的地方
5、缺陷定义二
- 从产品内部看(白盒测试),缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题
- 从软件外部看(黑盒测试),缺陷是软件系统所需要的某种功能的失效或违背
6、手工测试的日常主要职责:
设计、编写《测试用例》->执行测试,记录结果->将缺陷填写到《缺陷报告》提交给开发部门
7、在裸机中有软件吗?
有。是BIOS(base input output system,基本输入输出系统),写入在主板的cmos芯片中。作用是“上电自检”:计算机在通电后,首先将控制权交给BIOS程序检查硬件设备的设置和连接是否完好,如果没问题就将控制权交给os,如果有问题就会启动蜂鸣器发出报警声,同时阻止os的启动。
8、常用的操作系统(OS)有哪些?
- Windows,微软公司(付费),简单易用个人用户量大,稳定性安全性差
- Unix,贝尔实验室(付费),稳定性安全性强,可以二次开发,适用于企业服务器os,可移植性差,只能使用贝尔实验室生产的硬件设备
- Linux,开源免费,稳定性安全性强,可以二次开发,适用于企业服务器os
- Mac,苹果计算机系统,适合进行图形、图像设计
- Dos,磁盘操作系统,单用户命令式os,如Windows下的cmd窗口就是dos的沿用
9、软件分类
系统软件和应用软件,系统软件可不只是os
- 操作系统
- 驱动程序
- 补丁程序
单机软件和分布式软件,分布式软件是指需要网络(广域网和局域网)的软件
- C/S结构:client/server,如QQ,需要安装客户端程序并且通过网络才能获得服务器的服务
- B/S结构:browser/server,如新浪网,不需要安装对应的客户端程序,浏览器(IE,Chrome,Firefox,Opera,Safari)通过网络访问网站的服务器就能获得服务
三、进制和进制转换