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

第七章——实现-测试1【应聘准备可看看】

第七章——实现-测试1

  • 2 软件测试基础
    • 2.1 测试的目标(尽可能)
    • 2.2 测试原则
    • 2.3 测试方法
    • 2.4 测试步骤
    • 2.5 测试阶段的信息流
  • 3 单元测试
    • 3.1 测试重点
    • 3.2 代码审查
    • 3.3 计算机测试
  • 4 集成测试
    • 4.1 自顶向下集成
    • 4.2 自底向上集成
  • 5 确认测试
    • 5.4 软件配置复查
    • 5.3 Alpha测试和Beta测试

2 软件测试基础

2.1 测试的目标(尽可能)

测试的正确定义是“为了发现程序中的错误而执行程序的过程”。
测试决不能证明程序是正确的

2.2 测试原则

  • 所有测试都应该能追溯到用户需求;
  • 应该远在测试开始之前就制定出测试计划;
  • 把Pareto原理【行百里者半九十,编码完成80%的功能,任务才完成20%】应用到软件测试中;
  • 【从小到大】应该从“小规模”测试开始,并逐步进行“大规模”测试;
  • 穷举测试是不可能的; 为了达到最佳的测试效果,应该由独立的第三方从事测试工作。

2.3 测试方法

  • 黑盒测试(功能测试):不管内部的结构,只检查功能是否符合规格说明书,正常接收输入数据,产生正确输出
    在这里插入图片描述

  • 白盒测试(结构测试):按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。
    在这里插入图片描述

2.4 测试步骤

大型软件系统的测试过程基本上由模块测试、子系统测试、系统测试、验收测试和平行运行等五个步骤组成。

  • 单元测试->模块测试:测试模块的功能
  • 集成测试->子系统测试,系统测试:子系统主要测试模块之间的接口,系统测试主要是发现软件设计的错误和需求说明的错误
  • 确认测试->验收测试:用户积极参与,发现系统需求说明书的错误
  • 平行运行:新旧系统同时运行

2.5 测试阶段的信息流

在这里插入图片描述

测试方案:输入数据,功能,预期结果

3 单元测试

  • 检测软件设计的最小单元——模块。
  • 单元测试和编码属于软件过程的同意阶段。
  • 人工测试/计算机测试
  • 白盒测试,多模块并行

3.1 测试重点

1.模块接口

  • 参数的数目、次序、属性或单位系统与变元是否一致;
  • 是否修改了只作输入用的变元
  • 全局变量的定义和用法在各个模块中是否一致

2.局部数据结构

  • 以便发现局部数据说明、初始化、默认值等方面的错误。

3.重要的执行通路
4.出错处理通路
5.边界条件

  • 边界测试是单元测试中最后的也可能是最重要的任务。
  • 数组,循环】软件常常在它的边界上失效,例如,处理n元数组的第n个元素时,或做到i次循环中的第i次重复时,往往会发生错误。
  • 【条件比较语句】使用刚好小于、刚好等于和刚好大于最大值或最小值的数据结构、控制量和数据值的测试方案,非常可能发现软件中的错误

3.2 代码审查

查出代码的逻辑,语法,风格上面的错误。

测试:几月几号,在哪里,审核代码(过程)

代码检查是指由审查小组正式对源程序进行人工测试。它是一种非常有效的程序验证技术,对于典型的程序来说,可以查出30%~70%的逻辑设计错误和编码错误。
审查小组最好由下述4人组成。
(1) 组长,应该是一个很有能力的程序员,而且没有直接参与这项工程;
(2) 程序的设计者;
(3) 程序的编写者;
(4) 程序的测试者。

3.3 计算机测试

运用程序自动化测试

4 集成测试

集成测试是测试和组装软件的系统化技术。

由模块组装成程序时有两种方法。

  • 非渐增式测试方法【小软件】:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序
  • 渐增式测试:把下一个要测试的模块同已经测试好的那些模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试,这种方法实际上同时完成单元测试和集成测试

当使用渐增方式把模块结合到程序中去时,有自顶向下和自底向上两种集成策略。

4.1 自顶向下集成

自顶向下集成方法是从主控制模块开始,沿着程序的控制层次向下移动,逐渐把各个模块结合起来。

4.2 自底向上集成

自底向上测试从“原子”模块(即在软件结构最低层的模块)开始组装和测试。

还有一些其他的集成测试的方法:混合法,改进的自顶向下,

5 确认测试

【对软件需求书进行确认】

  • 确认测试也称为验收测试,它的目标是验证软件的有效性。
  • 软件有效性的定义:如果软件的功能和性能如同用户所合理期待的那样,软件就是有效的。
  • 需求分析阶段产生的软件需求规格说明书,准确地描述了用户对软件的合理期望,因此是软件有效性的标准,也是进行确认测试的基础。

5.4 软件配置复查

在确认测试过程中还应该严格遵循用户指南及其他操作程序,以便检验这些使用手册的完整性和正确性。
微信最低什么版本,安卓最低什么版本,如何验证。

5.3 Alpha测试和Beta测试

alpha在开发者这边,beta在客户那边。

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

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

vmmap分析内存泄露问题

vmmap是sysinternals工具集中的一个工具,主要用于分析一个进程的虚拟内存和物理内存的使用情况。更有效的是,可以通过对比两个不同时间的内存使用情况的Snapshot,来查找内存泄露问题。 vmmap介绍 当你用vmmap去查看一个正在运行的进程的时候…...

学生成绩管理系统+打包

文章目录文件管理:D:\hyt\python\pytorch_graduate\file_management成绩管理:D:\hyt\python\pytorch_graduate\stusystem打包:D:\hyt\python\pytorch_graduate\package_test学生成绩管理系统0.基础原理1.文件管理2 学生管理系统Tk打包1.基础原…...

Yocto Build with Bitbake的调试

https://docs.yoctoproject.org/dev-manual/common-tasks.html#recipe-logging-mechanisms 官方文档里有输出调试信息的方法。包含两种,一种是调用python的,一种是bash的。 建议直接使用warning方法,保证输出级别足够。 另外,在…...

Ways to Encrypt Password on Server

Background: the history of store password in server, starts with plain text, to MD5, SHA-1, SHA-2, to add salt/pepper/multihashing, to bcrypt/Argon2id etc. Best way so far to encrypt password on server : use bcrypt(unless have specific reasons not to do...

IntentService源码分析指南

转载链接:https://www.jianshu.com/p/8a3c44a9173a...

为啥集群小文件治理那么重要,你真的懂吗?

小文件是 Hadoop 集群运维中的常见挑战,尤其对于大规模运行的集群来说可谓至关重要。如果处理不好,可能会导致许多并发症。Hadoop集群本质是为了TB,PB规模的数据存储和计算因运而生的。为啥大数据开发都说小文件的治理重要,说HDFS 存储小文件…...

promise

promise是es6 中专门用来处理异步回调的,可以解决回调地狱 promise是一个构造函数,这个构造函数中放一个回调函数作为参数,这个回调函数中放的是异步的操作, 对于一个异步操作来说执行是需要时间的,所以一开始promise是…...

Flink大数据实时计算系列-第一个程序JAVA版本-分组统计

Flink大数据实时计算系列-第一个程序JAVA版本-分组 在基线版本上增加了分组统计的代码 #Flink代码 package com.flinkniu.flink.operator;import org.apache.flink.api.common.typeinfo.Types; import org.apache.flink...

boost::geometry::model::multi_polygon用法的测试程序

boost::geometry::model::multi_polygon用法的测试程序 实现功能C++实现代码实现功能 boost::geometry::model::multi_polygon用法的测试程序 C++实现代码 #include <algorithms/area/test_area.hpp> #include <boost/geometry/geometries/geometries.hpp> #inc…...

Ant Design Vue实现a-table表格单元格合并

Ant Design Vue实现a-table表格单元格合并 参考Ant design Vue官网关于行和列合并api https://antdv.com/components/table-cn/ 下面官网对表格合并这块的描述 &#xff01;&#xff01;&#xff01;注意注意注意重要事情说三遍&#xff1a;很多同学都习惯性的将columns写在d…...

【CoppeliaSim】Solidworks中模型导出模型到V-REP

一、下载安装插件 插件名称&#xff1a;sw2urdfSetup 下载地址&#xff1a;https://github.com/ros/solidworks_urdf_exporter/releases/tag/1.6.0 下载后直接安装即可。安装成功后&#xff0c;可在SolidWorks的菜单栏中看到&#xff1a;工具-Tools-Export as URDF 二、导出…...

css中id和class的区别

css中id和class的区别ID是唯一的类不是唯一的语法区别ID是唯一的 每个元素仅可以有一个ID每个页面仅可以有一个元素拥有这个ID 类不是唯一的 你可以在多个元素中使用相同的类你可以使用多个类在一个元素中 语法区别 id对应css是用样式选择符“#”&#xff08;井号&#xff…...

程序员如何快速成长

如何快速成长 每个程序员都是从菜鸟成长过来&#xff0c;我自己也不例外。以下是我个人一些总结和结合网上别人的经验&#xff0c;希望对大家有帮助&#xff01; 主动学习 保持危机感 35岁后你能做什么&#xff1f;为何同龄人已经是行业专家&#xff1f; 对知识保持好奇心 多…...

配置minio支持https

官网文档&#xff1a;https://docs.min.io/docs/how-to-secure-access-to-minio-server-with-tls.html 在${HOME}.minio/certs文件夹下 1、生成私钥 openssl genrsa -out private.key 2048 2、生成自签名证书 创建一个以openssl.conf以下内容命名的文件。设置IP.1和/或DNS.…...

力扣刷题:动态规划篇

目录322. 零钱兑换题目介绍题目实现5. 最长回文子串题目介绍题目实现518. 零钱兑换 II题目介绍题目实现53. 最大子序和题目介绍题目实现63. 不同路径 II题目介绍[62. 不同路径](https://leetcode-cn.com/problems/unique-paths/)题目实现70. 爬楼梯题目介绍题目实现72. 编辑距离…...

Java面试list 和 set 区别

List和Set的区别 List:&#xff1a;有序&#xff0c;按对象进入的的序保存对象&#xff0c;可可允许多个Null元素对象&#xff0c;可以使用lterator迭取出所有元素。在逐一便历&#xff0c;也可以使用get(int index)获取指定下标的元素 Set&#xff1a;无序&#xff0c;不可重复…...

诚意分享:这里有份超全Java体系化进阶学习图谱

摘要 Apache Kafka是一个分布式消息发布订阅系统。它最初由LinkedIn公司基于独特的设计实现为一个分布式的提交日志系统( a distributed commit log)&#xff0c;之后成为Apache项目的一部分。 成千上万的企业都在使用Kafka&#xff0c;三分之一的世界500强公司也在其中&…...

论文解读:3D U-Net: Learning Dense Volumetric Segmentation from Sparse Annotation

要点 1. 提出了3D U-Net&#xff1a;从稀疏标注的体素图像中学习的立体分割网络。 2. 有两个方案&#xff1a;第一是&#xff0c;在待分割立体图像中标注其中的一些切片&#xff0c;网络从这些标注中学习&#xff0c;再为这个空间提供密集的3D分割&#xff1b;第二是&#xff…...

基于51单片机的温度报警系统

目录 前言 一、温控系统是什么&#xff1f; 二、设计目的 1.环境需求 2.设计基础 三、设计 1.C51程序设计 2.Proteus仿真 &#xff08;1&#xff09;.元器件如下 &#xff08;2&#xff09;.原理图。 总结 前言 微型计算器自20世纪70年代诞生以来&#xff0c;得以迅…...

requests+re爬取猫眼电影排行

import requests from requests.exceptions import RequestException import re,json,timedef get_one_page(url):#获取网页信息try:headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/53…...

ElasticSearch: 配置远程词库更新后,如何使历史存储的数据立马生效(即刷新倒排索引列表)

问题背景 在我们自定义拓展词库更改后&#xff0c;在原先的索引文档中&#xff0c;由于不是新插入的数据&#xff0c;所以其倒排索引列表还是原先的分词列表数据&#xff0c;导致就算拓展了词库&#xff0c;新增的分词也没有生效。在不重新导入数据的前提下&#xff0c;处理办…...

一步搞定你疑惑的数据结构与算法系列,原理+实战讲解

前言 假如你去面试&#xff0c;面试官让你聊一下对索引的理解&#xff0c;然而你对索引的理解仅限于&#xff0c;检索数据就是快&#xff0c;是一种数据结构这个层面&#xff0c;那你就只能回家等通知了。 为了避免这种尴尬的事情发生&#xff0c;咔咔用时两天将索引的内容在…...

你有过迷茫吗?最全的BAT大厂面试题整理

前言 文章篇幅较长&#xff0c;建议耐心食用&#xff0c;相信对你有帮助。码字不易&#xff0c;如果有误&#xff0c;欢迎指出。 前部分是面试经历&#xff0c;后部分是附带的问题笔记/推荐回答/书籍。 我的微信小号有一组特殊的朋友。他们从 CSDN上看到我之前发布的《从阿里到…...

做了3年Android还没看过OkHttp源码?大厂面经合集

缘起 随着互联网企业的不断发展&#xff0c;产品项目中的模块越来越多&#xff0c;用户体验要求也越来越高&#xff0c;想实现小步快跑、快速迭代的目的越来越难&#xff0c;还有65535&#xff0c;应用之间的互相调用等等问题&#xff0c;插件化技术应用而生。如果没有插件化技…...

StringBoot编程式事务与声明式事务,附详细答案

前言 互联网时代&#xff0c;瞬息万变。一个小小的走错&#xff0c;就有可能落后于别人。我们没办法去预测任何行业、任何职业未来十年会怎么样&#xff0c;因为未来谁都不能确定。只能说只要有互联网存在&#xff0c;程序员依然是个高薪热门行业。只要跟随着时代的脚步&#…...

win10连接上OpenVpn后发现访问互联网的东西会有些不稳定

场景&#xff1a; opevpn是服务器有公网ip&#xff0c;客户端是我自己的电脑&#xff08;win10&#xff09;&#xff0c;连上去感觉一切良好&#xff0c;一段时间后发现网络使用不了 问题 问题在于一般配置之后&#xff0c;我们访问的网站或者互联网上的东西都会走vpn隧道&a…...

配置minio支持https

官网文档&#xff1a;https://docs.min.io/docs/how-to-secure-access-to-minio-server-with-tls.html 在${HOME}.minio/certs文件夹下 1、生成私钥 openssl genrsa -out private.key 2048 2、生成自签名证书 创建一个以openssl.conf以下内容命名的文件。设置IP.1和/或DNS.…...

达梦数据库关键词屏蔽

1、 部分关键词被达梦所保留&#xff0c;如果需要使用这些关键词&#xff0c;需要进行屏蔽&#xff0c;本次以屏蔽关键词interval例&#xff0c;屏蔽前报错如下&#xff1a; 2、 修改dm_svc.conf文件&#xff0c;屏蔽关键词 注意&#xff1a;修改的是应用服务器&#xff08;或…...

JavaScript基础--typeof和数据类型转换

&#x1f308;前言 变量的数据类型转换&#xff1a;将一种数据类型转换为另外一种数据类型。 通常有三种形式的类型转换&#xff1a; 转换为字符串类型 转换为数字型 转换为布尔型 你会专门把某个数据类型转换成 null 或者 undefined 吗&#xff1f;不会&#xff0c;因为…...

动态规划-leetcode-322

0️⃣python数据结构与算法学习路线 学习内容&#xff1a; 基本算法&#xff1a;枚举、排序、搜索、递归、分治、优先搜索、贪心、双指针、动态规划等…数据结构&#xff1a;字符串(string)、列表(list)、元组(tuple)、字典(dictionary)、集合(set)、数组、队列、栈、树、图、堆…...

Ubuntu查看有线网卡eth0和eth1分别对应网卡型号

一般情况下&#xff0c;电脑网卡是按照安装顺序命名的&#xff0c;先安装的是eth0&#xff0c;后增加的以此类推。 1.首先查看网卡的型号 lspci | grep -i net 2.输入命令,可以通过driver区分两个网卡的型号。&#xff08;我的etho对应RealTek,eth1对应Intel。&#xff09; …...

弹出界面 eth1: 设备 eth1 似乎不存在, 初始化操作将被延迟。

出现这个是因为添加网卡失败 解决方法 我们可以在/etc/sysconfig/network-scripts/添加一个新的网卡名编辑里面的各项内容 然后重启计算机打开/etc/udev/rules.d/70-persistent-net.rules文件 它会自动生成一个新的网卡&#xff0c;我们可以复制这个网卡的mac地址把eth1的mac…...

AR路由器ETH端口使用方法

AR路由器eth端口属于二层端口&#xff0c;不能配置ip vlan 10 //创建一个vlan port-group port1to8forvlan10 //创建一个端口组 group-member ethernet 0/0/0 t…...

Linux-eth0 eth0:1 和eth0.1关系

eth0 eth0:1 和eth0.1三者的关系对应于物理网卡、子网卡、虚拟VLAN网卡的关系&#xff1a;物理网卡&#xff1a;物理网卡这里指的是服务器上实际的网络接口设备&#xff0c;这里我服务器上双网卡&#xff0c;在系统中看到的2个物理网卡分别对应是eth0和eth1这两个网络接口。 子…...

关于开发板不断eth0: link up, 100Mbps, full-duplex, lpa 0x45E1 eth0: link down的问题

前几天调试程序的时候&#xff0c;发现开发板&#xff08;TQ210&#xff09;连接不上主机了&#xff08;NFS挂载&#xff0c;一直都工作好好的&#xff09;。在UBOOT里Ping主机的IP&#xff0c;也没有Ping通。开发板是通过交换机跟主机连接。 当时以为是自己的主机NFS配置有问…...

网卡 eth0,eth1,eth2,lo分别代表是什么 意思

eth0&#xff0c;eth1&#xff0c;eth2……代表网卡一&#xff0c;网卡二&#xff0c;网卡三……lo代表127.0.0.1&#xff0c;即localhost...

Linux 网卡配置eth1修改为eth0

在测试或生产环境中&#xff0c;经常会遇到克隆的服务器&#xff08;虚拟机&#xff09;&#xff0c;网卡配置经常也会克隆为eth1&#xff0c;下面讲如何将网卡配置修改为eth0&#xff08;eth1网卡也可以正常使用&#xff0c;但是有些强逼症的同学看不习惯&#xff09;&#xf…...

Linux系统修改网卡名称(eth1修改为eth0)

一、环境 VirtualBox CentOS6.5 二、问题 有时候在克隆服务器之后配置网络时&#xff0c;或者在维护别人建好的服务器时&#xff0c;会遇到这样一种情况。如下图所示&#xff1a; 即&#xff1a;在接口配置文件ifcfg-eth0中&#xff0c;配置的是网卡eth1的信息。 这种不一…...

Eth2 升级概览

文章目录Overview以太坊面临的问题Blockchain trilemma可拓展性&#xff1a;提升 TPS 的技术发展Eth2 架构路线Eth2 的各个阶段信标链&#xff08;The Beacon Chain&#xff09;融合&#xff08;The Merge&#xff09;2021/2022分片&#xff08;Shard Chains&#xff09;~ 2022…...

Eth-Trunk 链路聚合

链路聚合介绍链路聚合模式两种链路聚合模式比较LACP模式实现原理Eth-Trunk的优势Eth-Trunk接口配置流程LACP抢占机制LACP模式Eth-Trunk建立过程Eth-Trunk接口负载分担Eth-Trunk接口配置注意事项配置需求综合配置介绍 Eth-Trunk 是一种捆绑技术&#xff0c;它将多个物理接口捆绑…...

GD32F450以太网(1):ETH 外设接口简介

GD32F450以太网(1):ETH MAC外设接口简介 文章目录GD32F450以太网(1):ETH MAC外设接口简介1. GD选型手册GD32F450部分2. ETH MAC外设简介3. ETH引脚接口说明3.1 MII 和 RMII 接口3.1.1 MII 接口连接示意图&#xff1a;3.1.2 RMII 接口连接示意图&#xff1a;3.1.3 关于MII 和 RM…...

STM32网络ETH

芯片是&#xff1a;STM32F207VCT6 本人主要介绍STM32F207VCT6的ETH部分&#xff0c;基本是把ETH部分英文翻译一下&#xff0c;加上自己的理解。 欢迎查看本文所在的系列&#xff0c;STM32的LWIP应用&#xff0c;点击跳转 1、基础介绍 通过DMA控制器进行介质访问控制 这部分…...

华为交换机eth口作用_华为交换机 eth-trunk

HUAWEI, Quidway Series, Eth-Trunk1 Inter...eth-trunk 1 [S2700-Eth-Trunk1] port link-type trunk [S2700-Eth-Trunk1] port trunk allow-pass vlan 10 20 [S2700-Eth-Trunk1] quit 交换机 B 的......huawei password irreversible-cipher %#%#O4)X1xmTPs~&|Azj6CS~|:W)…...

ifcfg-eth0配置详解

more /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTOstatic NAMEeth1 DEVICEeth1 ONBOOTyes IPADDR192.168.210.3 NETMASK255.255.255.128 GATEWAY192.168.210.126 DNS110.116.219.32 通过查资料与工作中的进行一下总结&#xff1a; DEVICE"eth1" …...

Linux的网卡由eth0变成了eth1,如何修复

起因&#xff1a;一个pc系统盘换了主板&#xff0c;没换前看到的是eth0和eth1&#xff0c;换了主板后系统显示的为eth2、eth3&#xff08;ifconfig查看只显示eth2&#xff09; cat /etc/udev/rules.d/70-persistent-net.rules时显示如下&#xff1a; # PCI device 0x8086:0x1…...

ETH私链

更新于&#xff1a;2019-11-07 ETH私链搭建私链下载安装准备创世区块配置文件初始化创世区块常用命令启动geth创建账户查看地址列表查询账户余额挖矿停止挖矿解锁账户转账查询交易状态处理交易获取区块高度查看区块代币转账运行JS控制台部署合约已存在的合约编译合约&#xff0…...

Linux基础必懂:eth0,eth1,eth2,lo是什么意思?

&#xfeff;&#xfeff;eth0&#xff0c;eth1&#xff0c;eth2……代表网卡一&#xff0c;网卡二&#xff0c;网卡三…… lo代表127.0.0.1&#xff0c;即localhost 参考&#xff1a; Linux命令&#xff1a;ifconfig 功能说明&#xff1a;显示或设置网络设备 语 法&#x…...

Linux——eth0,eth1,eth2,lo及ifconfig命令

eth0,eth1,eth2,lo是什么 eth0&#xff0c;eth1&#xff0c;eth2……代表网卡一&#xff0c;网卡二&#xff0c;网卡三…… lo代表127.0.0.1&#xff0c;即localhost 参考&#xff1a; Linux命令&#xff1a;ifconfig www.2cto.com 功能说明&#xff1a;显示或设置网络设…...

CentOS的虚拟机网卡eth0变成eth1

1.借鉴&#xff1a;虚拟机拷贝后网卡eth0变成了eth1的解决办法 2.开始why: 使用parallels desktop或者是VMware克隆虚拟机之后&#xff0c;无法连接上网络&#xff0c;使用命令ifconfig eth0 找不到eth0&#xff0c;所以有了这篇文章。2.1 修改 /etc/udev/rules.d/70-persist…...

Eth Transfer

ETH交易一般理解都是转账交易&#xff0c;但是这个理解是比较狭隘的。这里谈到的交易是一种广义的交易。 交易的发起者&#xff1a;主要是两类 节点服务&#xff0c;geth控制太。调用节点服务&#xff0c;主要是指geth提供RPC接口的客户端&#xff0c;如wallet等。 交易分类…...