首页 > 其他分享 >软件测试基础

软件测试基础

时间:2022-09-28 00:14:52浏览次数:43  
标签:需求 模型 基础 用例 文档 测试 软件 软件测试

软件是控制计算机硬件工作的工具

 

 

软件产生过程:

1.需求产生(需求方、产品经理)

2.需求文档(产品经理)

3.设计效果图(UI设计师)

4.产品开发(研发人员)

5.产品测试(测试人员)

6.部署上线

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

软件测试的目的:减少软件缺陷Bug,保障软件质量

测试主流技能:

  1. 功能测试(测试主要验证程序的功能是否满足需求)
  2. 自动化测试(使用代码或工具代替手工,对项目进行测试)
  3. 接口测试—工具、代码实现(使用代码或工具验证程序中的接口是否访问正常)
  4. 性能测试-工具、代码实现(模拟多人使用软件,查找服务器缺陷)

就业方向:

1.功能测试+接口测试

2.功能测试+性能测试

3.功能测试+web自动化

常见测试分类:

1、按测试阶段划分:

1.单元测试

(又称模块测试,针对软件设计中的最小单位-程序模块,进行正确性检查的测试结构出发设计测试用例 。多个模块可以平行地独立进行单元测试 针对程序源代码进行测试)

2.集成测试

(又称组装测试,通常在单元测试的基础上,将所有程序模块进行有序的、递增的测试。重点测试不同模块的接口部分; 针对模块之间访问地址进行测试)

3.系统测试(对整个系统进行测试包括功能、兼容、文档等测试)

4.验收测试

(验收软件是否符合用户需求的测试;主要分为内测、公测,使用不同人群来发掘项目缺陷)

α测试:

1、Alpha是内测版本

2、通常只在软件开发者内部交流

3、一般而言,该版本软件的bug较多,普通用户最好不要安装

β测试:

1、Beta是公测版本,是对所有用户开放的测试版本

2、这一版本通常由软件公司免费发布,用户可从相关的站点下载

3、通过一些专业爱好者的测试,将结果反馈给开发者,开发者们再进行有针对性的修改。

γ测试:

Gamma版本,指的是软件版本正式发行的候选版。该版本已经相当成熟了,与即将发行的正式版本。

 

2、按代码可见度划分:

1.黑盒测试:不关注源代码,针对程序UI功能进行测试(源代码不可见,UI功能可见)

2.灰盒测试:针对程序部分代码进行测试(接口)(部分源代码可见,功能不可见)

3.白盒测试:针对程序源代码进行测试(全部代码可见,UI功能不可见)

3、按是否运行分类:

1.静态测试

不运行软件,静态的观察软件是否符合预期

2.动态测试

运行软件,在运行过程中测试

4、按是否自动化:

1.手工测试

通过测试工程师手工对软件进行测试

2.自动化测试

通过编程写代码,通过程序自动化测试软件是否有bug

5、其他分类:

1.冒烟测试

对软件最基本的流程和工作做一个粗略的测试,看最基本的流程是否能跑通

测试拿到研发的第一个版本,一般先冒烟

2.回归测试

当修复一个BUG后,把之前的测试用例在新的代码下进行再次测试

3.随机测试

随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有覆盖到的部分

4.探索性测试

一边了解和学习项目,一边测试项目

探索性测试意味着同时设计测试和执行测试。测试人员通过测试来不断学习被测系统

 

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

1.功能性:适用性、准确性、互操作性、保密安全性、,功能数量、功能正确实现、错误处理情况

2.性能(效率):时间特性、资源利用性,服务器每秒处理请求数、服务器硬件配置是否满足

3.兼容性:

浏览器:谷歌、IE、火狐、欧朋、苹果

操作系统:

Win系统:wind7、wind8、wind10、其他

手机:分辨率、品牌、系统、网络、其他

4.易用性:易理解性、易学性、易操作性、吸引性,简洁、友好、流畅、美观

5.可靠性:成熟性、容错性、易恢复性,无响应(出现无响应)、卡顿(响应时间慢)、死机(系统崩溃)

6.安全:传输加密、存储加密

7.可移植性:网站数据迁移,适应性、易安装性、共存性、易替换性

8.可维护性:易分析性、易改变性、稳定性、易测试性

软件开发模型的介绍:

1、瀑布模型(重点):

1.需求分析(研发分析需求说明书,判断需求的可实现性)

2.概要设计(用到具体的技术点,大致模块划分)

3.详细设计(详细到可以为编码做支持,类和类关系,类的设计,函数设计,各个接口的细节,数据表的关系,字段关系)

4.编码(依托于详细设计进行编码操作)

5.软件测试

6.软件维护(上线后也是需要持续维护)

特点:

线性模型:每一步都是按顺序来执行

文档驱动:每一步都有文档产出

优点:

开发的各个阶段比较清晰

当前一阶段完成后,只需关注后续阶段

缺点:

依赖于早期的需求调查,不适应需求的变化。

风险往往延至后期才显露,失去及早纠正的机会

2、快速原型模型(了解):

一边确定需求,一边实现

优点:

避免瀑布模型的缺点,可以适应早期的需求变化

缺点:

适合小型项目

3、螺旋模型(了解):

 

 

特点:

引进了风险分析活动

优点:

螺旋模型很大程度上是一种风险驱动的方法体系

缺点:

采用螺旋模型需要具有相当丰富的风险评估经验和专门知识

 

测试模型:

1、V模型(重点):

从研发的瀑布模型来的

 

 

 

 

优点:

(1)测试V模型即包含了底层测试又包含了高层测试

(2)每个步骤都是文档驱动的

缺点:

(1)当需求变更时将会导致阶段反复,返工量非常大,模型灵活性比较低

(2)和研发瀑布模型一样,不能适应需求的改变,灵活性比较低

2、W模型(认识):

测试伴随整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试。

 

 

优点:

(1)强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求和概要设计同样要测试

(2)更早地介入测试,可以发现开发初期的缺陷,那么可以用更加低的成本进行缺陷修复

缺点:

(1)使用起来技术复杂度高,对于需求和设计的测试要求高,实践起来困难

 

测试流程:

1.需求评审(确保各部门需求理解一致)

2.计划编写(测什么、谁来测、怎么测)

3.用例设计(验证项目是否符合需求的操作文档)

4.用例执行(项目模块开发完成开始执行用例文档实施测试)

5.缺陷管理( 对缺陷进行管理的过程)

6.测试报告(实施测试结果文档 )

测试用例(Test Case):

定义:为特定的目的而设计的一组测试输入、执行条件和预期结果的文档

1.用例:用户使用的案例

2.测试用例:是为测试项目而设计的执行文档

3.测试用例的作用:防止漏测、实施测试的标准

4.用例设计编写格式:

 

 

 

 

 

 

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

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

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

优先级:表示用例的重要程度或者影响力P0~P4(P0最高)

前置条件:要执行此条用例,有哪些前置操作

测试数据:操作的数据,没有的话可以为空

测试步骤:描述操作步骤

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

例子:

 

 

 

 

 

标签:需求,模型,基础,用例,文档,测试,软件,软件测试
From: https://www.cnblogs.com/670ling/p/16736510.html

相关文章

  • 软件测试
    学科介绍:软件测试是互联网技术中一门重要学科,是软件生命周期中不可或缺的环节,担负着把控、监督软件的质量的重任。2018年测试工程师缺口达30万,其中大中型城市人才需求突......
  • 前端三件套 HTML+CSS+JS基础知识内容笔记
    HTML基础目录HTML基础HTML5标签doctype标签html标签head标签meta标签title标签body标签文本和超链接标签标题标签段落标签换行标签水平标签强调标签图片标签与超链接标签......
  • C++语言程序设计基础 内联函数
    C++内联函数是通常与类一起使用。如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方。对内联函数进行任何修改,都需要重新编译函数......
  • js循环数组各种方法array 汇总-基础
    js循环数组各种方法array汇总-基础这几天做系统,又用到多维数组循环交叉。所以总结一套以供参考记录1.varmyStringArray=["Hello","World"];2.......
  • salesforce零基础学习(一百一十九)In-App Guidance实现引导页操作功能
    本篇参考:https://help.salesforce.com/s/articleView?id=sf.customhelp_lexguid.htm&type=5https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta......
  • 防火墙基础之终端隔离互访​安全防护
    防火墙之终端隔离互访​原理概述:​防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏......
  • Python基础(五) | 函数及面向过程编程详解
    第五章函数⭐本专栏旨在对Python的基础语法进行详解,精炼地总结语法中的重点,详解难点,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握python编程,同时为后续的数据分析,......
  • mitudesk的机器学习日记 基础算法之K最近邻
    1.K最近邻的思路很简单,就是计算其离最近的比较其所属,最少需要两个不同的标签,最多无上限,当N太小时会存在过拟合的情况,会受到极小的点的印象当n太大,以至于超过待分类的数据,......
  • Python入门基础
    今日份内容概要垃圾回收机制控制流程理论控制流程之分支结构控制流程之循环结构今日内容详情任何的语言,使用内存空间的申请和释放都需要程序员自己写代码才能完成......
  • 软件开发基础
    软件开发模式瀑布模型将软件生命周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品的项目。快速原型模型快速原型模型的第一步是建造......