测试基础知识点总结

软件测试基础知识

测试概述

定义
软件测试 =
运行程序,并发现程序的错误以及缺陷;将预期结果与实际结果进行比对,以检验是否满足产品规格说明书。

目的
用于证明软件的正确性、完整性、安全性以及质量。

测试思维

1 梳理产品的核心业务流程:明白这是个什么项目,实现了什么业务,以及是怎么实现的?
2 根据流程进行模块细分,然后针对每个功能模块进行详细的测试点设计和提取;主要包括正常功能的验证和异常功能的验证;
3 针对具体的功能,寻找每个输入项和步骤,针对以下三个部分来分析测试点。
变量 长度、数据类型;必填项、是否可以重复;需求的约束条件、隐形需求;功能之间的交互;
4 考虑分功能测试点、包括界面、易用性、兼容性、安全性、性能压力。

软件测试策略

定义
软件测试策略是软件测试的一个模板,即把特定的测试用例方法放置进去的一系列步骤;

测试分类

  • 软件开发流程分类:4个

单元测试:对软件组成的单位进行测试,也就是方法或者函数进行测试;
集成测试:模块按照合适的策略组合之后针对软件的功能和接口进行正确性以及功能性测试;
系统测试:将软件看成一个整体,对软件的功能、性能、所处的软硬件环境进行测试;
验收测试:软件项目部署之前的最后一个测试,验证下软件是否符合需求说明书的要求;

  • 是否查看代码分类:3个

黑盒测试:检测软件功能是否实现、是否按照软件需求说明书进行;不关注软件代码,只关注软件的输入输出数据;
白盒测试:基于代码进行测试,包括逻辑测试、结构测试;
灰盒测试:既有功能测试、又有结构测试;

  • 是否运行代码分类:2个

静态测试:不运行代码;(代码)查看测试代码是否符合相应的标准、(界面)查看软件的实际界面与需求中的说明是否相符、(文档)看测试用户和需求说明是否符合用户的实际需求;
动态测试:运行程序本身,查看程序的预期运行结果与实际运行结果是否一致,并对软件功能的正确性和健壮性进行分析;

  • 测试对象分类:11个

性能测试:检查软件是否符合需求分析说明书;包括压力测试、负载测试、并发测试;
功能测试:主要针对软件的功能进行测试;比如登录功能等;
安全性测试:渗透测试、DOS攻击、跨域攻击、SQL注入、暴力破解、软件权限、数据安全等;
兼容性测试:看不同软件之间是否可以协同工作,是否会影响其他软硬件的性能发挥;
安装测试:检测软件是否可以正常安装 和 卸载;
界面测试:看界面与设计图是否保持一致、界面是否好看、界面按钮大小、设计风格是否保持一致;
稳定性测试:对软件产品在高负载、重压、不同环境下进行稳定性测试,寻找软件的崩溃节点;
用户体验测试:软件是否从用户的角度去设计,交互性怎么样;
文档测试:检查软件的开发文档、用户文档、管理文档是否完好健全;
本地化测试:检测不同环境下,软件的使用是否正常;
APP专项测试:弱网测试、场景交互测试、资源挣网测试、权限测试、安装卸载更新测试、离线测试、消息推送测试、资源监控测试等。

  • 是否人工测试:2个

手动测试:通过测试人员手动输入测试用例进行测试;
自动测试:由机器参与的,由程序自动读取数据进行测试;

  • 测试实施组织:3个

α测试:用户在开发环境中的测试;一般是程序员将软件开发出来后,自己进行测试;
β测试:最终的用户在不同场景下的测试;
第三方测试:将开发出来的软件交由第三方机构进行测试,看软件是否好用;

  • 其他分类:2个

冒烟测试:针对不同版本的修改,在正式测试之前先进行验收测试;
回归测试:修改代码之后,看是否引入新的问题;

软件测试过程模型

  • V模型
    在这里插入图片描述
  • W模型
    在这里插入图片描述
  • H模型
    在这里插入图片描述
  • X模型
    在这里插入图片描述

预备知识

前端内容
前端的三大部分是 html、css、js
js
js = JavaScript 可以插入HTML页面的编程代码;
用来改进设计、验证表单、检测浏览器、创建cookies等;
位于标签之间的,一般位于之间 可以在中;

软件测试流程

项目职责与划分
项目主要涉及人员包括:项目经理、开发人员、测试人员;
项目经理负责对项目的整体功能进行分析,并撰写产品需求文档;开发人员根据需求分析报告完成相应的功能;测试人员根据需求分析报告构建需求分析思维导图,进而构建测试点和功能点完成测试;

测试流程概述

1 阅读项目相关文档,包括产品需求文档PRD、产品流程图、UI界面设计图等;
2 与项目经理、开发人员一同参加需求评审会议,针对项目确立需求分析文档并编写测试计划;
3 根据需求分析文档构建测试需求分析思维导图,找出功能点和测试点,并构建测试用例;
4 与项目经理、开发人员、测试同组人员一起参加用例评审会议,看测试用例是否符合项目需求;
5 开发人员提交程序代码之后,搭建测试环境,使用测试用例进行自动化测试,并记录问题;
6 验证bug与回归测试,编写测试报告;
7 产品上线。

需求评审

该阶段最重要的是建立需求分析文档;
通过阅读项目的产品流程图、产品需求文档PRD,了解项目初步需求;
与项目经理、开发人员一同参加需求评审会议,针对项目确立需求分析文档并编写测试计划,包括对项目组人员的数量以及职责的安排部署;

测试计划

  • 测试概要
    根据项目需求分析文档,制定测试策略并对测试工作量进行评估,进行人员安排;
    划定测试范围(如产品的功能模块)、搭建测试环境等;

  • 测试策略
    冒烟测试:在正式测试之前,先进行的验收测试;
    第一轮功能测试:执行测试用例、兼容性测试、易用性测试等;
    第二轮功能测试:bug复测以及功能验证;
    回归测试:针对软件修改的部分,再进行测试,看是否又引入新的问题;
    性能测试:确定具体的性能测试方案和工具;
    验收测试:在项目正式部署之前的最后一个测试;

  • 测试风险评估
    突发情况的处理是否有应对解决方案,比如测试人员、开发人员由于特殊原因请假导致人员不够的问题怎么解决;
    项目突然提前了有什么响应的应对方案;
    项目的优先级是否足够高,如果有优先级更高的项目中途打断该项目的开发,是否有相应的解决方案;

  • 测试预期
    拟定测试目标(如软件开发产品的预设);

测试用例

  • 设计测试用例:

等价类——有效等价类、无效等价类。
有效等价类 = 针对测试项是正确的内容;无效等价类 = 测试项不正确的内容;

在这里插入图片描述

边界值分析法——上点、离点、内点

在这里插入图片描述

流程图分析

画出流程图,根据流程图提取测试路径,利用等价类和边界值方法为每一条路径设计测试用例;
涉及概念:基本流、备选流、异常流。

正交实验

获取因子以及其水平数(因子 = 影响实验结果的条件、水平数=每个因子可能的取值)
选择正交表;
使用等价类和边界值为每一条规则设计测试用例。

状态迁移

主要关注测试状态转移上的正确性,验证给定的条件下是否能够产生需要的状态变化;
具体步骤:分析对象的状态、绘制状态迁移树、提取测试路径;

判定表

用于分析和表达在多个条件下程序执行不同动作的工具;
在这里插入图片描述

参考

  • 测试用例的八要素:
    用例名称:描述测试的功能点;
    用例编号:产品/项目—用例属性—功能模块—编号 用例属性(UT=单元测试,IT=集成测试,ST=系统测试,UAT=用户接收测试)
    测试项:表示测试的功能模块;
    测试类型:比如功能测试、性能测试、兼容性测试等;
    前置条件:该测试用例运行的前提条件;
    测试步骤:也就是页面点击的步骤;
    预期结果:该测试用例正常分析的结果;
    优先级:表示测试用例的重要性;

bug管理

当测试人员提交一个bug的时候,bug就有了生命,生命周期就是从此刻到它最后被解决。

测试提交的bug单

概要 = 简要描述bug;
被检测模块 = 产生该bug是针对哪个模块进行的测试;
测试人 = 测试人员的名字;
提交给的开发人员 = 开发此模块的开发人员;
单子的创建时间 = bug单子的创建时间;
bug的详细描述 = 测试项目、前置条件、执行操作、预期结果、实际结果;
附件上传 = 发现bug的实时截图;

bug基本概念

定义:不符合产品需求的、程序报错、不符合用户习惯的;

测试报告

  • 项目概要
    项目介绍、参与测试人员以及开发人员、测试的周期;

  • 测试结论
    是否达到发布标准,是否可发布;

  • 测试环境,测试设备
    用到哪些测试软件,客户端环境,浏览器;

  • 需求大纲
    当前这个版本,包含哪些需求点;

  • 测试用例报告
    报告用例情况,测试用例的预期结果与真实结果是否一致;

  • Bug数据分析
    对bug进行级别的分类和统计,分类包括:崩溃级别的bug、模块的bug、功能bug等;

  • 风险分析
    查看有哪些已知的测试风险被排查、以及是否有发现未知的测试风险;

  • 测试总结
    从测试角度,对版本存在的问题,提出建议,以方便开发人员进行修改;

上线发布单

根据测试人员书写的测试报告,看是否达到上线标准;
如果达到上线标准,书写上线报告单;

上线报告单:
迭代的版本号;发布的pool名;遗留的bug编号;性能测试是否通过;war包;上线发布(替换配置文件、在线上执行sql)。

你可能感兴趣的:(2023个人面试备战,学习)