软件测试基础
2020-01-15 11:11
120 查看
一、软件测试的定义
二、为什么需要软件测试
- 软件开发会经历多个流程,各个流程参与的开发人员不同,不同开发人员的水平及开发习惯会有很大的不同,这些都会使软件存在一定的问题,这是就需要通过软件测试来发现软件中存在的缺陷和错误,并及时的进行修正。
- 现在互联网行业不在是以“功能为王”,一个新软件或软件功能的产生,很快就会有同类产品相继出现,软件的功能不在是吸引用户的主要原因,软件的易用性,可靠性,效率性,安全性等都是吸引用户的主要原因之一,用户更加注重软件的质量,因而需要通过软件测试来提升软件质量,更有利于软件吸引更多的用户,使软件发挥更大的价值。
三、为什么选择软件测试
- 如上所述,现在的互联网行业更加注重软件的质量,而软价值量需要大量的软件测试来提升,这就导致了行业对软件测试的需求增加。
- 有些人喜欢创造世界,所以他们选择软件开发,而有些人喜欢使世界更加美好,所以他们选择了软件测试。
四、为什么不让开发人员自己做测试
- 现在有些测试人员就是开发出身
- 专业度;软件开发人员在敲代码,写算法方面很强势,但对软件测试的一些方法并没有测试人员熟悉。
- 思维模式;软件开发人员的思维更倾向于开发,更注重于软件的功能怎样通过代码实现,而软件测试人员的思维倾向于各种奇葩的软件使用方式,发现软件中的缺陷。
- 测试力度;对于开发人员来说,对自己开发的软件都会比较自信,并不会认为自己开发的软件会有太多bug,而对于软件测试人员来说,发现软件中的主要缺陷就是自己的任务,因而会不遗余力的测试软件。
五、测试对象
软件测试的对象,顾名思义就是软件本身。一般软件包括使用功能集合、说明书和配置数据三部分组成,软件测试需要对着三部分都要进行测试。
软件开发一般会经历以下几个步骤:
- 需求分析阶段;这一阶段主要是对软件的客户需求进行总结,生产各种规格说明书;在这一阶段,软件测试主要进行需求文档测试;
- 软件框架设计;这一阶段,软件测试主要进行的接口测试(API接口测试);
- 编码实现阶段;这一阶段,主要是对源代码进行测试;
- 系统测试阶段;软件测试的主体。
六、软件的质量
- 功能性;软件功能需要满足客户需求
- 易用性;软件易于学习和易于上手
- 可靠性;软件必须稳定实现需求文档中指明的具体功能
- 效率性;类似软件的性能
- 可维护性;将某一功能修复后继续使用的能力
- 可移植性;当前软件可以从一个平台移植到另一个平台使用的能力
七、软件的架构
B/S架构和C/S架构,B—browser浏览器;C—clent客户端;S—sever服务器;
两种架构的比较:
- 标准;B/S架构两端都使用成熟产品,相较于C/S架构更加标准
- 升级;B/S架构升级只要刷新页面即可,C/S架构升级需要对两端都进行刷新
- 安全性;B/S架构使用HTTP协议传输,而HTTP以明文传输,可以被抓包。
- 效率;C/S架构的客户端可以分担一些数据处理,效率更高
- 开发成本;相对于B/S架构,C/S架构的客户端需要单独开发,开发成本更高
八、软件测试的作用
- 发现并修复软件中存在的缺陷,提高软件质量,提高用户的使用信心
- 软件测试产生的数据可以为决策者提供支持
- 可以降低同类软件产品开发遇到问题的风险
九、软件测试的一些原则
- 测试证明软件存在缺陷
- 软件无缺陷谬论
- 缺陷存在穷集现象;软件的主要功能和附带功能比例一般为2:8,软件测试更多会集中在主要功能,因而会觉得缺陷会集中在主要功能部分
- 杀虫剂效应
- 测试需要尽早介入
- 不能执行穷尽测试
- 某些测试需要依赖特殊环境
十、测试级别
- 单元测试(UT–unit text);源代码的测试
- 集成测试(IT–interface text);也称接口测试,将多个单元模块组合在一起,验证他们之间沟通的“桥梁”是否正常的测试
- .系统测试(ST–system text);对软件的功能主体的测试
系统测试分类:
功能测试
兼容性测试
安全性测试
性能测试
测试方法:
1、测试对象分类
白盒测试
和黑测试
灰盒测试
2、测试对象是否执行分类
静态测试
动态测试
3、测试手段
人工测试
自动化测试 - 验收测试
α测试(内侧)
β测试(公测)
UAT测试
十一、软件测试流程
- 需求分析
- 设计用例
- 审核用例
- 配置环境
- 执行用例
- 回归测试和缺陷跟踪
- 生产测试报告
- 测试结束
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 软件测试基础——软件测试概念
- 《软件测试管理》第14章 软件测试常见问题——(一)基础知识部分
- 软件测试基础知识(一)
- 零基础学习软件测试从懵逼到吊炸天之基础与进阶篇
- 软件测试基础——软件测试方法和分类、生命周期各测试方法
- 从“小工”到“专家”,测试基础架构技术主管的软件测试修炼之道
- 【软件测试基础】安全测试
- 【软件测试基础】兼容性测试
- 《Web应用测试》笔记(第3章-软件测试基础)
- 软件测试基础——测试用例设计初步
- 软件测试的基础概念
- 软件测试中的那些基础知识
- 软件性能测试基础-2
- 【软件测试基础】性能测试
- 软件测试中的那些基础知识
- 软件测试基础知识 day 2
- 软件测试(美)Ron Patton 基础知识整理 1
- 软件测试策略基础
- 软件测试基础
- 软件测试基础知识总结