软件测试简单面试

文章目录

软件=程序+数据(库)+文档+服务

  • 程序:完成预定功能、性能的可执行的指令
  • 操作信息的数据结构
  • 描述程序的操作和使用的文档

软件测试:使用技术手段来验证软件是否满足需求
软件质量:

  1. 满足软件需求,软件需求是度量软件质量的基础
  2. 不仅仅满足明确的软件需求,还要满足隐藏的软件需求
  3. 要遵循各种标准定义的开发规则

软件测试的目的:减少软件中的bug,保障软件的质量

软件:控制计算机硬件工作的工具
软件的基本组成:客户端+服务器
软件产生的过程:

  • 需求产生(0-1需求、刚需求)
  • 需求文档
  • UI设计师产生设计效果图
  • 产品开发
  • 产品测试(需求)
  • 部署上线

软件测试主流技能

  1. 功能测试:验证软件的功能是不是满足需求
  2. 自动化测试:通过工具或者代码代替手工来自动对软件进行测试(效率高)
  3. 接口测试:使用代码或者工具对服务端提供的接口进行测试
  4. 性能测试:模拟多人使用软件,查找服务器缺陷

测试分类

  1. 按照测试阶段划分:
  • 单元测试:针对程序的源代码进行测试,测试单个模块、功能是否能够正常使用(条件是否正确,程序是否无语法错误、逻辑错误)
  • 集成测试:又叫做接口测试,针对模块之间访问地址进行测试,换句话就是说把有关联的模块组合起来测试
  • 系统测试:对整个系统进行测试包括功能、兼容、文档等全面测试
  • 验收测试:特殊项目(内测版),使用不同的人群来发掘项目的缺陷
  1. 按照代码可见度进行划分
  • 黑盒测试:源代码不可见、但是UI功能可见的测试,类似于系统测试
  • 部分代码可见比如接口,功能课件的测试,类似于集成测试
  • 白盒测试:全部代码可见,UI功能可见,类似于单元测试

质量模型:衡量一个优秀软件的维度

  • 功能、性能、兼容、易用、安全软件测试简单面试_第1张图片
    举例说明:
    需求文档:
  • 需要开发一款网络游戏,要求要有十个主功能
  • 游戏要支持web和app
    游戏上线后预计每日有20w的用户在线
    – 功能性:①功能数量为10个;②功能正确实现;③错误处理情况;
    – 性能:①服务器每秒处理请求数;②服务器硬件配置是否满足
    – 兼容性:①浏览器(各种浏览器能否使用);②操作系统验证;③手机兼容性、分辨率、品牌、系统、网络、和其他软件要兼容
    – 易用性:简洁、友好、流畅、美观
    – 可靠性:无响应、卡顿(响应时间慢)、死机(系统奔溃)、安全(传输加密 存储加密)
    – 可移植性:数据迁移
    – 可维护性

测试流程:
软件测试简单面试_第2张图片

  • 需求评审:确保各个部门的需求理解是一致的,还要知道产品的主要功能等信息
  • 计划编写:测什么、谁来测、怎么测
  • 用例设计:验证项目是否符合需求的操作文档
  • 用例执行:项目模块开发完成开始执行用例文档实施测试
  • 缺陷管理:从缺陷描述到提交开发、需求完整再次验证的过程
  • 测试报告:实施测试结果文档

测试用例:
用例:用户使用的案例
测试用例:为测试项目而设计的执行文档
作用:①防止漏测;②实施测试的标准
格式:

  • 用例编号:项目_模块_编号
  • 用例标题:预期结果(测试点)
  • 项目/模块:所属项目/模块
  • 优先级:重要程度p0-p4,p0最高,核心功能(用户最常用的)
  • 前置条件:执行用例前,需要那些前置操作
  • 测试步骤:操作步骤
  • 测试数据:操作的数据,没有为空
  • 预期结果:期望达到的结果

等价类划分:在所有的测试数据中,具有某种共同特征的数据集合进行划分

  • 分类:有效等价类(满足需求)、无效等价类
  • 步骤:
  1. 明确需求
  2. 明确有效和无效等价类
  3. 提取数据编写测试用例

你可能感兴趣的:(测试,测试)