软测入门(一)测试理念及基础知识

news2025/1/11 17:00:20

软测入门理念

软件的分类

  • 按层次划分:系统软件、应用软件
  • 按组织划分:商业软件、开源软件
  • 按结构划分:单机软件、

软件缺陷

由来

Grace Hopper发明Cobol计算机语言,也是找出电脑程序中第一个bug的女程序员

  • Bug
  • Defect

定义

  • 软件未实现产品说明书要求的功能
  • 软件出现说明书指明不应该出现的功能
  • 软件实现了产品说明书未提及的功能
  • 软件未实现产品说明书虽未提及但应该实现的功能
  • 软甲难以理解、不易使用、运行缓慢(从测试角度看)最终用户会认为不好

所有不满足需求或超出需求的都是缺陷

没有不存在缺陷的软件,只有迄今为止尚未发现的缺陷

软测的定义和目的

定义

  • 正向思维:相信产品能够正常运作
  • 反向思维:为了发现错误而执行一个程序或系统的过程々
  • IEEE定义的测试
  • 广义软件测试:软测是对软件形成过程中的所有工作产品(包括程序以及相关文档)进行测试
    • 确认(validation):确认功能是否已经实现
    • 验证(Verification):是否满足需求

目的

  • 找出软件中潜在的各种错误和缺陷,保证各种错误和缺陷得以修复,避免软件发布后由于潜在缺陷和错误造成隐患(找不容易发现的bug)
  • 利用测试结果和信息,作为后续项目开发和测试过程改进的重要输入,避免在将来的项目开发和测试中重复同样的错误(将bug作为重要输入,避免出现重复bug)
  • 采用高效测试管理手段,提高软测的效率和产品质量(方便开发和测试的对接,如使用TAPD等工具)

测试和调试的区别

  • 主体、目标、方法、思路不同
  • 测试是有预知的结果,调试的结果不可预估
  • 测试可以计划,预先定义测试用例和过程,工作量可度量;调试时间相对较多

测试的原则

  • 证明软件中存在缺陷
  • 不能穷尽测试
  • 测试应该尽早介入(避免后置)
  • 二八原则(80%的功能只有20%的人用)
  • 不存在缺陷谬论
  • 妥善保存一切文档

测试基本要求

  • 外观测试
  • 易用测试
  • 兼容性测试
  • 安全性测试
  • 性能测试
  • 功能测试

通用测试技术

软件生命周期

  • 需求分析
  • 概要设计
  • 详细设计
  • 编码
  • 测试(测试报告)
  • 验收

软件生命周期模型

  • 瀑布模型:最早提出的软件开发的过程模型(线性)

    在这里插入图片描述

    存在问题:强调时间顺序的严格执行,各阶段耦合度较高;将测试放在了编码之后(测试后置),增加了开发风险

    有点:阶段性明确;只需要关注后续的阶段

  • 快速模型:

    在这里插入图片描述

    原型:就是一个模型,可以模拟操作、简单运行

    工具:Axure工具制作原型

    产品画完原型后给客户确认,通过后交给开发人员进行编码工作。

  • 增量模型:软件分割成独立的模块,分批次完成和交付。

    在这里插入图片描述

    会打破原有的软件结构和框架,会带来一定的风险。

    增量模型一般会和迭代模型一起运用。

  • 螺旋模型:引入其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,及时止损。

  • 迭代模型:不断进行产品功能更新深入(开发迭代试一次完整经过所有工作流程的过程:需求分析、设计、实施、测试)

    在这里插入图片描述

  • 敏捷模型

测试流程

在这里插入图片描述

软件测试的分类

在这里插入图片描述

  • 测试阶段
    • 单元测试(编码完成后,如写了一个模块的接口)
    • 集成测试(单元测试完成后,模块完成后)
    • 系统测试(集成测试完毕后,发布测试环境后测试)
    • 验收交付测试(α测试内测,β测试公测)
  • 是否覆盖源码
    • 白盒测试(测代码)
    • 黑盒测试(测功能):功能测试(UI页面、业务、文档测试)、性能测试(响应速度、系统资源的占用、稳定性、负载测试、压力测试)
    • 灰盒测试(测功能和代码)
  • 是否运行:静态测试、动态测试
  • 是否自动化:手工测试、自动化测试
  • 地域测试:本地化测试、国际化测试
  • 其他:回归测试(复测)、冒烟测试(基本模块是否正常,程序能否跑起来)、随机测试(monkey测试)、探索测试(其他方面)

软件测试过程模型

V模型

在这里插入图片描述

  • 测试后置,忽视了测试对需求分析、系统设计的验证
  • 需求的满足情况一直到后期的验收测试才被验证

W模型

在这里插入图片描述

由两个V字模型组成,分别代表测试和开发过程,明确表示测试与开发的并行关系。

优点:

  • 测试的活动与软件开发同步进行
  • 测试对象不仅是程序,包括需求和设计
  • 尽早发现软件缺陷,降低软件开发的成本

缺点:

在W模型中,需求、设计、编码等活动被视为串行的,无法支持灵活迭代。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/379886.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kafka面试问题总结

kafka架构2.基础概念Producer(生产者) : 产生消息的一方。Consumer(消费者) : 消费消息的一方。Broker(代理) : 可以看作是一个独立的 Kafka 实例。多个 Kafka Broker 组成一个 Kafka Cluster。同时&#x…

SpringBoot整合

14-SpringBoot整合Junit 搭建SpringBoot工程 引入starter-test起步依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency>&…

化繁为简高效部署 华为云发布部署服务CodeArts Deploy

​随着互联网、数字化的发展&#xff0c;公司机构与各类企业往往需要进行大量频繁的软件部署&#xff0c;部署设备类型多样&#xff0c;如&#xff1a;本地机器、云上裸金属服务器、云上虚拟机与容器等。面对多种部署模式、分布式复杂运行环境&#xff0c;如何用最短时间、高质…

2021年NOC复赛真题解析

本题来自2021年NOC创新编程复赛操作题。阿短是一位小学五年级学生,本学期即将结束,阿短打算创作一个能够进行四则运算练习的出题程序。程序能够随机出10道题,题目皆是一位数的加减乘除四则运算,每答对一题得1分。请你帮助阿短,编写出这个程序吧。 1.参与运算的两个数值都…

分享5款Windows同类软件中的翘楚

今天要给大家推荐的是5款软件&#xff0c;每个都是同类软件中的个中翘楚&#xff0c;请大家给我高调地使用起来&#xff0c;不用替我藏着掖着。1.沙盒工具——Sandboxie Sandboxie是一个电脑必备的沙盘工具&#xff0c;对于从网上下载的软件安装包、文件、视频、图片等等一切不…

一道阿里类的初始化顺序笔试题

问题很简单&#xff0c;就是下面的代码打印出什么&#xff1f; public class InitializeDemo {private static int k 1;private static InitializeDemo t1 new InitializeDemo("t1" );private static InitializeDemo t2 new InitializeDemo("t2");priv…

硬件工程师常见问题与答疑

在工作中&#xff0c;尤其是做了很多年的&#xff0c;有些问题可能不知道&#xff0c;又不好意思问&#xff0c;怕别人说你连这个都不知道&#xff1f;很尴尬&#xff0c;而且百度又搜不到&#xff0c;本博主收集了很多答疑&#xff0c;希望里面有对你有用的&#xff0c;或者是…

linux修改DNS 系统版本Kylin V10桌面版

配置DNS在银河麒麟桌面操作系统V10 SP1 中修改DNS信息&#xff0c;直接修改/etc/resolv.conf文件中的DNS信息&#xff0c;不能生效。应该参考如下步骤&#xff1a;一、首先修改 /etc/systemd/resolved.conf文件&#xff0c;在其中添加DNS信息在终端中执行以下命令&#xff1a;s…

零基础机器学习做游戏辅助第十五课--原神自动钓鱼(五)完整效果

一、先上效果 二、整理思路 我们现在已经具备了所有需要的技术,我们梳理出所有技术的流程。 判断当前钓鱼状态(未抛竿、已抛竿、上鱼中)。未抛竿,截图并识别图中所有鱼类,选择其中一个种类。根据以选择鱼类选择对应鱼饵。<

python学习积累

glob 1、import glob #导入整个glob模块 2、from glob import golb #从glob模块导入glob函数 ”*”匹配0个或多个字符&#xff1b; ”?”匹配单个字符&#xff1b; ”[]”匹配指定范围内的字符&#xff0c;如&#xff1a;[0-9]匹配数字。 https://zhuanlan.zhihu.com/p/71…

Android---Binder进程间通信机制1

1 binder 是什么&#xff1f; 进程间通信机制&#xff08;一个进程可以理解为一个 app&#xff09; 是一个驱动 Binder.java(implement Ibinder) --> 写一个类 extends Binder.jiva 就有了跨进程的能力。 跨进程的应用&#xff1a; 自己创建的进程&#xff1a;webView、视频…

taobao.appstore.subscribe.get( 查询appstore应用订购关系 )

&#xffe5;开放平台基础API不需用户授权 查询appstore应用订购关系(对于新上架的多版本应用&#xff0c;建议使用taobao.vas.subscribe.get) 公共参数 请求地址: HTTP地址 http://gw.api.taobao.com/router/rest 公共请求参数: 公共响应参数: 响应参数 点击获取key和secre…

【计算机体系结构-04】流水线:基础与中级概念 (Pipelinling: Basic and Intermediate Concepts)

1. 借题引入 在亚当斯密所著的《国富论》一书中有描述过这样的场景&#xff0c;扣针制造业中制造一个扣针需要先后完成抽铁丝、拉直、切截、削尖铁丝的一端、打磨铁丝的另一端&#xff08;以便安装圆头&#xff09;&#xff0c;制作圆头也需要二三种不同的操作&#xff0c;包括…

jsp拆迁管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 拆迁管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.0&…

java 批量插入千万条数据优化方案【值得收藏】

场景介绍 再实际开发应用中总会面临导入大批量数据插入数据库、数据迁移、同步等操作在java 后台执行&#xff0c;执行效率的优化问题随之而来&#xff01;比如如何快速往MySQL数据库中导入1000万数据 mybatis 2、MySQL中新建一张user表&#xff0c;为了方便演示只保留id、昵称…

【docker】入门

注&#xff1a;最后有面试挑战&#xff0c;看看自己掌握了吗 文章目录docker是什么&#xff1f;Docker Engine overview概述什么是容器container&#xff1f;什么是容器映像 image&#xff1f;官方解释什么是container和container imageDocker objectsImages - 一个用来创建doc…

任务3、监控界面设计

【任务描述】本任务要求使用相对布局或约束布局以及相应的控件完成智慧园区监控系统界面开发一、相对布局&#xff08;RelativeLayout&#xff09;概述相对布局&#xff08;RelativeLayout&#xff09;是一种根据父容器和兄弟控件作为参照来确定控件位置的布局方式。使用相对布…

Camera Java Native Interface(JNI)介绍

Camera Java Native Interface&#xff08;JNI&#xff09;介绍Java Native Interface&#xff08;JNI&#xff09;概述Our Goal一、JNI启动流程二、Camera JNI 动态注册1.引入库ReferenceblogCode Address:Java Native Interface&#xff08;JNI&#xff09;概述 Android系统…

【软件测试】2023年了还不会接口测试?老鸟总结接口测试面试谁还敢说我不会......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 测试面试&#xff0…

[Java解惑]读书笔记分享

[Java解惑]读书笔记分享 这本书主要讲了Java中经常遇到的坑, 并给出了解释以及解决办法. 读完之后很有收获 读书笔记 表达式之谜 奇数性 用下面的表达式判断一个数是否是奇数 public static boolean isOdd(int i) {return i % 2 1;}问题: 负数无法得出正确的结果. 例如当 i …