当前位置: 首页 > news >正文

软件测试基础1--功能测试

1、什么是软件测试?

        软件是控制计算机硬件运行的工具。

        软件测试:使用技术手段验证软件是否满足使用需求,为了发现软件功能和需求不相符合的地方,或者寻找实际输出和预期输出之间的差异。

        软件测试的目的:减少软件缺陷,保证软件质量。

1.1、测试的主流技能

        接口测试:使用代码,工具对服务端提供的接口进行测试

        功能测试:验证程序的功能是否满足需求文档上的

        自动化测试:使用代码或工具代替人工测试

        性能测试:模拟多人使用软件情景,查找服务器缺陷(bug)

1.2、测试的分类

        按测试的阶段划分:

                单元测试:针对程序源代码测试,比如JUnit

                集成测试:即接口测试,针对每一个模块提供的访问地址进行测试。

                系统测试:对整个系统进行测试,包括功能,兼容性,文档等等测试    

                验收测试:即内侧,公测,使用不同人群发掘系统缺陷

        按代码可见度划分:

                黑盒测试:源代码不可见,根据已实现的功能进行测试,对测试人员的代码阅读力较低

                灰盒测试:部分代码可见,类似于接口测试。

                白盒测试:源代码透明,类似于单元测试。

2、软件的质量模型

        质量模型是衡量软件好坏的维度

功能性:功能数量是否正确(不能多不少),功能是否正确的实现,发生错误时是否能正确处理

性能:服务器每秒处理请求数够吗?硬件配置是否能满足?

兼容性:能在不同的操作系统上运行吗?能在不同内核的浏览器(谷歌,IE,火狐,苹果,欧朋)上使用吗?在不同品牌手机上运行正常吗?在不同网络环境下运行正常吗?

易用性:使用方便吗?页面美观吗?系统流畅吗?界面简洁吗?

安全:信息传输,信息存储是加密吗?

可靠性:是否无响应?是否卡顿?是否崩溃(死机)?

可维护性:后期维护服务器时是否方便?

可移植性:数据迁移,更换服务器时,是否方便?

3.测试流程

        

需求评审:确保各部门理解一致

计划编写:测什么,谁来测,怎么测

用例设计:验证项目是否符合需求文档

用例执行:项目模块开发完成后,进行测试

缺陷管理:项目存在缺陷时,从提出bug到修复bug的全过程

测试报告:实施测试结果文档

3.1、测试用例

        用例是什么:是用户使用的案例,测试用例就是为了测试项目而设计的文档

        3.1.1、设计测试用例的作用

  •                 防止漏测
  •                 实施测试的标准

        3.2.2、测试用例编写格式

                    

用例编号:项目_模块_编号

用例标题:预期结果(测试点)

项目/模块:所属项目或模块

优先级:测试用例的重要程度(P0最高)

前置条件:执行用例前要做的操作

测试步骤:描述怎么测试

测试数据:测试时需要输入的数据,没有为空

预期结果:期望达到的结果

3.2、设计测试点的方法

        3.2.1、等价类划分

        等价类划分适合需要大量输入数据的地方,但是又不能穷举输入测试

        适用于表单的输入框,下拉列表,单选复选框

                

根据需求的长度,类型,规则进行划分

在有效等价类中选一个作为代表,在无效等价类中各选一个作为总共的测试用例

        需求1:验证QQ账号的合法性,QQ账号是6-10位的自然数

        需求2:验证手机号的合法性

        需求3:给你一个花瓶,给出它的测试用例

首先,硬件还要添加一个属性

        1属性测试:花瓶大小,重量,材质,外观

        2功能性测试:插花,装水,养鱼

        3性能测试:防摔,耐高温,耐低温,耐腐蚀,抗压

        4兼容性测试:装水,装饮料,装果汁

        5易用性测试:防滑,便携,方便使用

        6安全性测试:材质健康,不发生化学反应,不易燃易爆

        3.2.2、边界值分析

                边界范围节点:选取上点,离点,内点

                边界值分析一般都要和等价类划分一起使用,先划分等价类,再分析边界值,最后编写用例。适用于有边界范围的输入,至多,至少重量,最大,最少等等。

        

                上点:正好等于边界值的点

                离点:距离上点最近的点,左右各一个

                内点,合法范围内中的点

        需求1:标题大于0,小于等于30个字符

边界值优化,将七个点优化为五个点,即优化离点,开内闭外

        开区间保留内离点,闭区间保留外离点

3.2.3、判定表

        判定表用于解决多条件的依赖问题,判定表适用于4个条件以下,较少的情况。

根据判定表设计的用例,数量是2的条件桩次方

3.2.4、场景法(流程图)

                用流程图表述用户的使用场景,流程图适用于覆盖业务测试,先测试业务,在测试单功能,单页面

        

3.3.5、错误推断法

        通过测试经验,推测系统可能出现,容易出现的问题,只适用于时间紧,任务量大的场景

4、缺陷

        缺陷就是软件使用过程中出现的问题,即BUG

        4.1、缺陷的判断标准

        软件未实现需求规格说明书要求的功能--少功能

        软件实现的功能超出需求规格说明书的要求--多功能

        软件出现了需求规格说明书中指明不应出现的错误--功能错误

        软件没有实现需求规格说明书中未指出但应当实现的要求--隐形功能错误

        软件难以理解,体验差,运行缓慢--不易使用

        4.2、缺陷产生的原因与生命周期

        4.3、发现缺陷后怎么描述

        当发现缺陷时,应该怎么办?

                首先保证该缺陷可以重现,其次确认为bug,之后才可以提交

        4.4、缺陷管理工具

        禅道:在禅道上提交,验证,关闭bug

http://www.lryc.cn/news/413757.html

相关文章:

  • 《计算机网络》(第8版)第9章 无线网络和移动网络 复习笔记
  • 非负数、0和正整数 限制最大值且保留两位小数在elementpuls表单中正则验证
  • Java多线程-----定时器(Timer)及其实现
  • 【Linux修行路】进度条小程序
  • 网络安全入门教程(非常详细)从零基础入门到精通,看完这一篇就够了。
  • 【探索Linux】P.44(数据链路层 —— 以太网的帧格式 | MAC地址 | MTU | ARP协议)
  • <数据集>航拍行人识别数据集<目标检测>
  • 在 Windows 10 系统上部署 Medusa
  • Linux进程 (冯诺依曼体结构 管理 PCB 进程状态 僵尸进程 孤儿进程 运行阻塞挂起状态 进程优先级)
  • 《LlamaIndex 之美》-01-LLM、Prompt、Embedding基础入门
  • C++ 智能指针简单介绍及用法
  • k8s笔记之创建Istio Gateway规则
  • NAND行业回归盈利:AI与云存储需求驱动
  • 【限免】频控阵雷达:概念、原理与应用【附MATLAB代码】
  • 从0开始搭建vue + flask 旅游景点数据分析系统( 六):搭建后端flask框架
  • 学习硬件测试04:触摸按键+PWM 驱动蜂鸣器+数码管(P62~P67、P71、P72)
  • JS原型链
  • 《Java初阶数据结构》----5.<二叉树的概念及使用>
  • git查看记录详解
  • 检索增强生成RAG系列10--RAG的实际案例
  • 程序员自我提升的全面指南
  • 【golang】Golang手写元组 tuple | golang tuple
  • golang中struct的tag -简记
  • 分布式领域扩展点设计稿
  • 玩转微信公众号变现:从新手到专家的全攻略
  • JVM: 方法调用
  • 测试面试宝典(四十一)—— 接口自动化的优缺点
  • “火炬科企对接”先进计算产业推进会 | 麒麟信安受邀参加,并签署开源生态合作协议
  • 中文网址导航模版HaoWa1.3.1/模版网站wordpress导航主题
  • 图欧学习资源网创站以来的更新日志(截止至2022.5.6)不完全统计