软件测试笔记1——什么是软件测试及软件测试分类


一、什么是软件测试

1. 什么是软件

1)软件 = 计算机程序 + 程序所使用数据 + 有关文档资料
2)软件分为系统软件和应用软件,应用软件中有C/S架构与B/S架构

2. C/S与B/S架构

C/S : clinet-server,安装一个客户端才能够用的软件,就叫C/S。每次更新,都需要更新服务端与客户端,比如说超市收银系统每次更新每台电脑都必须重装客户端,特别是有分店的情况。人力物力财力都很大。
B/S : browser-server,只需要一个浏览器就可以访问服务的,就是B/S。只需要更新服务器就OK,不需要去更新浏览器。用户主动性比较高。

3. 软件测试定义:

1983年,IEEE就提出软件工程的标准术语,他将软件测试定义为:使用人工和自动化手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求弄清预期结果与实际结果之间的差别

4. 我们为什么要做软件测试(软件测试目的)

1)软件测试为了发现程序(软件)存在的代码或业务逻辑错误
2)软件测试为了检验产品是否符合用户需求。
3)软件测试为了提高用户的体验


二、软件测试的分类

1. 按测试阶段分类

1)单元测试 :为的是确保各单元模块被正确的编译,对模块或函数、类、方法等的测试。(主要是测试程序代码)
2)集成测试 :把多个模块/函数组装到一起进行测试。测试内容如测试软件单位之间的接口是否正确、数据能否正常传递等。(注册和充值这两个功能是否能够连通)(主要是测试程序代码)
3)系统测试 :系统测试是将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行(使用)环境下,按照软件规格说明书中所要求,测试软件其性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞等。——根据测试用例,进行完整的系统测试。
4)验收测试 :验收测试是部署软件之前的最后一个测试操作。在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动。又分为alpha和beta:
  i. alpha测试 :把用户请到开发方对软件进行的测试,测试环境受开发方控制,测试人不多,测试时间比较集中执行者:测试人         员、用户、公司内部人员.
  ii. beta测试 :测试环境不受开发方控制,测试人比较多,测试时间不集中

        (两者区别:1.测试场所不一样; 2.先做alpha后做beta)

2. 按测试技术划分(按是否要看代码划分)

  1)白盒测试 :只需要关注外部的输入与输出,不需要关注程序内部的逻辑
  2)黑盒测试 :需要关注内部逻辑具体实现,而不需要关注外部的输入与输出。
  3)灰盒测试 :需要关注外部的输入与输出 以及 内部逻辑具体实现(两者都需要关注)

3. 被测试对象是否运行划分

  1)动态测试 :运行被测系统,而进行的测试
  2)静态测试 :不需要运行被测系统,而进行的测试 (文档检查、代码走查、桌面检查)

4.按不同的测试手段划分

  1)手工测试 :(点点点)、
  2)自动化测试 :(替代手工工具/写代码)

5. 按测试包含的内容划分

  1)功能测试 :验证软件的业务功能是否符合需求
  2)界面测试 :被测系统界面与原型图是否一致
  3)安全测试 :对被测系统的安全进行测试(对账号多次进行输入用户名密码,是否允许输入,sql注入)
  4)兼容性测试 :被测系统在不同的测试环境下是否正常
  5)易用性测试 :被测系统的各个功能是否操作方便、是否容易理解、是否容易上手
  6)性能测试 :某个特定时间,用户数量剧增,软件的使用是否正常(负载测试、压力测试等)

6. 其他划分

  **1)**冒烟测试 :在进行正式测试前对主要功能核心功能进行的测试。
  **2)**回归测试 :开发对存在问题的功能进行修改之后再次进行的测试(被修改的以及其他的都需要被测试)
  **3)**探索性测试/自由测试(测试思维) :根据自己项目经验而进行的随意测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值