数据恢复的数据恢复方法

数据恢复的数据恢复方法,第1张

可以使用软件来恢复需要的数据。

数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。

数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等。

数据和信息是不可分离的,数据是信息的表达,信息是数据的内涵。

数据本身没有意义,数据只有对实体行为产生影响时才成为信息。

数据可以是连续的值,比如声音、图像,称为模拟数据。也可以是离散的,如符号、文字,称为数字数据。

在计算机系统中,数据以二进制信息单元01的形式表示。

目录

pytest是Python的单元测试框架,同自带的unittest框架类似,但pytest框架使用起来更简洁,效率更高。

pytest特点

安装

测试

在测试之前要做的准备

我的演示脚本处于这样一个的目录中:

踩坑:你创建的pytest脚本名称中不允许含有 ,比如 1简单上手py ,这样会报错。当然,可以这么写 1-简单上手py

demo1py :

上例中,当我们在执行(就像Python解释器执行普通的Python脚本一样)测试用例的时候, pytestmain(["-s", "demo1py"]) 中的传参需要是一个元组或者列表(我的pytest是522版本),之前的版本可能需要这么调用 pytestmain("-s demo1py") ,传的参数是str的形式,至于你使用哪种,取决于报不报错:

遇到上述报错,就是参数需要一个列表或者元组的形式,而我们使用的是str形式。

上述代码正确的执行结果是这样的:

大致的信息就是告诉我们:

pytestmain(["-s", "demo1py"])参数说明

除了上述的函数这种写法,也可以有用例类的写法:

用法跟unittest差不多,类名要以 Test 开头,并且其中的用例方法也要以 test 开头,然后执行也一样。

执行结果:

那么,你这个时候可能会问,我记得unittest中有setup和teardown的方法,难道pytest中没有嘛?你怎么提都不提?稳住,答案是有的。

接下来,我们来研究一下pytest中的setup和teardown的用法。

我们知道,在unittest中,setup和teardown可以在每个用例前后执行,也可以在所有的用例集执行前后执行。那么在pytest中,有以下几种情况:

来一一看看各自的用法。

模块级别setup_module/teardown_module

执行结果:

类级别的setup_class/teardown_class

执行结果:

类中方法级别的setup_method/teardown_method

执行结果:

函数级别的setup_function/teardown_function

执行结果:

小结

该脚本有多种运行方式,如果处于PyCharm环境,可以使用右键或者点击运行按钮运行,也就是在pytest中的主函数中运行:

也可以在命令行中运行:

这种方式,跟使用Python解释器执行Python脚本没有什么两样。也可以如下面这么执行:

当然,还有一种是使用配置文件运行,来看看怎么用。

在项目的根目录下,我们可以建立一个 pytestini 文件,在这个文件中,我们可以实现相关的配置:

那这个配置文件中的各项都是什么意思呢?

首先, pytestini 文件必须位于项目的根目录,而且也必须叫做 pytestini 。

其他的参数:

OK,来个示例。

首先,(详细目录参考开头的目录结构)在 scripts/test_case_01py 中:

在 scripts/test_case_dir1/test_case02py 中:

那么,在不同的目录或者文件中,共有5个用例将被执行,而结果则是两个失败三个成功。来执行验证一下,因为有了配置文件,我们在终端中(前提是在项目的根目录),直接输入 pytest 即可。

由执行结果可以发现, 2 failed, 3 passed ,跟我们的预期一致。

后续执行相关配置都来自配置文件,如果更改,会有相应说明,终端都是直接使用 pytest 执行。

我们知道在unittest中,跳过用例可以用 skip ,那么这同样是适用于pytest。

来看怎么使用:

跳过用例,我们使用 @pytestmarkskipif(condition, reason) :

然后将它装饰在需要被跳过用例的的函数上面。

效果如下:

上例执行结果相对详细,因为我们在配置文件中为 addopts 增加了 -v ,之前的示例结果中,没有加!

另外,此时,在输出的控制台中, 还无法打印出 reason 信息,如果需要打印,则可以在配置文件中的 addopts 参数的 -s 变为 -rs :

如果我们事先知道测试函数会执行失败,但又不想直接跳过,而是希望显示的提示。

Pytest 使用 pytestmarkxfail 实现预见错误功能::

需要掌握的必传参数的是:

那么关于预期失败的几种情况需要了解一下:

结果如下:

pytest 使用 x 表示预见的失败(XFAIL)。

如果预见的是失败,但实际运行测试却成功通过,pytest 使用 X 进行标记(XPASS)。

而在预期失败的两种情况中,我们不希望出现预期失败,结果却执行成功了的情况出现,因为跟我们想的不一样嘛,我预期这条用例失败,那这条用例就应该执行失败才对,你虽然执行成功了,但跟我想的不一样,你照样是失败的!

所以,我们需要将预期失败,结果却执行成功了的用例标记为执行失败,可以在 pytestini 文件中,加入:

这样就就把上述的情况标记为执行失败了。

pytest身为强大的单元测试框架,那么同样支持DDT数据驱动测试的概念。也就是当对一个测试函数进行测试时,通常会给函数传递多组参数。比如测试账号登陆,我们需要模拟各种千奇百怪的账号密码。

当然,我们可以把这些参数写在测试函数内部进行遍历。不过虽然参数众多,但仍然是一个测试,当某组参数导致断言失败,测试也就终止了。

通过异常捕获,我们可以保证程所有参数完整执行,但要分析测试结果就需要做不少额外的工作。

在 pytest 中,我们有更好的解决方法,就是参数化测试,即每组参数都独立执行一次测试。使用的工具就是 pytestmarkparametrize(argnames, argvalues) 。

使用就是以装饰器的形式使用。

只有一个参数的测试用例

来看(重要部分)结果::

可以看到,列表内的每个手机号,都是一条测试用例。

多个参数的测试用例

(重要部分)结果:

可以看到,每一个手机号与每一个验证码都组合一起执行了,这样就执行了4次。那么如果有很多个组合的话,用例数将会更多。我们希望手机号与验证码一一对应组合,也就是只执行两次,怎么搞呢?

在多参数情况下,多个参数名是以 , 分割的字符串。参数值是列表嵌套的形式组成的。

固件(Fixture)是一些函数,pytest 会在执行测试函数之前(或之后)加载运行它们,也称测试夹具。

我们可以利用固件做任何事情,其中最常见的可能就是数据库的初始连接和最后关闭 *** 作。

Pytest 使用 pytestfixture() 定义固件,下面是最简单的固件,访问主页前必须先登录:

结果:

在之前的示例中,你可能会觉得,这跟之前的setup和teardown的功能也类似呀,但是,fixture相对于setup和teardown来说更灵活。pytest通过 scope 参数来控制固件的使用范围,也就是作用域。

比如之前的login固件,可以指定它的作用域:

很多时候需要在测试前进行预处理(如新建数据库连接),并在测试完成进行清理(关闭数据库连接)。

当有大量重复的这类 *** 作,最佳实践是使用固件来自动化所有预处理和后处理。

Pytest 使用 yield 关键词将固件分为两部分, yield 之前的代码属于预处理,会在测试前执行; yield 之后的代码属于后处理,将在测试完成后执行。

以下测试模拟数据库查询,使用固件来模拟数据库的连接关闭:

结果:

可以看到在两个测试用例执行前后都有预处理和后处理。

pytest中还有非常多的插件供我们使用,我们来介绍几个常用的。

先来看一个重要的,那就是生成测试用例报告。

想要生成测试报告,首先要有下载,才能使用。

下载

如果下载失败,可以使用PyCharm下载,怎么用PyCharm下载这里无需多言了吧。

使用

在配置文件中,添加参数:

效果很不错吧!

没完,看我大招

Allure框架是一个灵活的轻量级多语言测试报告工具,它不仅以web的方式展示了简洁的测试结果,而且允许参与开发过程的每个人从日常执行的测试中最大限度的提取有用信息。

从开发人员(dev,developer)和质量保证人员(QA,Quality Assurance)的角度来看,Allure报告简化了常见缺陷的统计:失败的测试可以分为bug和被中断的测试,还可以配置日志、步骤、fixture、附件、计时、执行 历史 以及与TMS和BUG管理系统集成,所以,通过以上配置,所有负责的开发人员和测试人员可以尽可能的掌握测试信息。

从管理者的角度来看,Allure提供了一个清晰的“大图”,其中包括已覆盖的特性、缺陷聚集的位置、执行时间轴的外观以及许多其他方便的事情。allure的模块化和可扩展性保证了我们总是能够对某些东西进行微调。

少扯点,来看看怎么使用。

Python的pytest中allure下载

但由于这个 allure-pytest 插件生成的测试报告不是 html 类型的,我们还需要使用allure工具再“加工”一下。所以说,我们还需要下载这个allure工具。

allure工具下载

在现在allure工具之前,它依赖Java环境,我们还需要先配置Java环境。

注意,如果你的电脑已经有了Java环境,就无需重新配置了。

配置完了Java环境,我们再来下载allure工具,我这里直接给出了百度云盘链接,你也可以去其他链接中自行下载:

下载并解压好了allure工具包之后,还需要将allure包内的 bin 目录添加到系统的环境变量中。

完事后打开你的终端测试:

返回了版本号说明安装成功。

使用

一般使用allure要经历几个步骤:

来看配置 pytestini :

就是 --alluredir /report/result 参数。

在终端中输入 pytest 正常执行测试用例即可:

执行完毕后,在项目的根目下,会自动生成一个 report 目录,这个目录下有:

接下来需要使用allure工具来生成HTML报告。

此时我们在终端(如果是windows平台,就是cmd),路径是项目的根目录,执行下面的命令。

PS:我在pycharm中的terminal输入allure提示'allure' 不是内部或外部命令,也不是可运行的程序或批处理文件。但windows的终端没有问题。

命令的意思是,根据 reportresult 目录中的数据(这些数据是运行pytest后产生的)。在 report 目录下新建一个 allure_html 目录,而这个目录内有 indexhtml 才是最终的allure版本的HTML报告;如果你是重复执行的话,使用 --clean 清除之前的报告。

结果很漂亮:

allure open

默认的,allure报告需要>

练习题二

1) sp_helpdb 该代码的功能是:

A 返回数据库的基本信息

B 返回数据库的`使用空间

C 返回数据库的变量名称

D 返回数据库的表名

2) sp_helpdb中有这样一条信息:Updateability=Read_Write 该代码表示的正确含义是:

A 更新能力为可读可写

B 恢复模式为完整恢复

C 可用于所有用户

D 兼容级别

3) sp_helpdb中有这样一条信息:status = online 该代码表示的正确含义是:

A 表示数据库的状态为:可用于查询

B 表示数据库的状态为:正在还原数据库

C 表示数据库的状态为:数据库未恢复

D 表示数据库已被显示置于脱机状态

4) sp_helpdb中有这样一条信息:IsFulltextEnabled 该代码的正确含义是:

A 数据库自动生成统计信息

B 自动更新统计信息

C 数据库已启用全文功能。

D 数据库引擎检测信息

5) sp_helpdb中有这样一条信息:COMPATIBILITY_LEVEL =90 该代码表示的正确含义是:

A 数据库兼容级别是 2000

B 数据库兼容级别是 2005

C 数据库兼容级别是 2008

D 以上说法都不对

6) 数据定义语言中的 创建,修改,删除这三个英语单词 下列哪项才是完全正确的

A 创建(create) , 修改(alter) , 删除(update)

B 创建(alter) , 修改(modify), 删除(drop)

C 创建(create) , 修改(alter) , 删除(drop)

D 创建(alter) , 修改(create), 删除(drop)

7) SQL 2005 的建表语句要写在______之内

A { }

B [ ]

C ( )

D <>

8) 建表语句中的 not null,该代码表示的含义是:

A 允许空格B 非空约束

C 不允许写入数据

D 不允许读取数据

9) select from student 该代码中的 号,表示的正确含义是:

A 普通的字符号

B 错误信息

C 所有的字段名

D 模糊查询

10) 向数据表添加数据,哪些是添加的关键字

A insert

B update

C delete

D select

更多计算机二级考试相关试题分享:

1、登录账号、密码、服务器名称、数据库名称登录错误导致不能连接。解决方法:当正在使用的软件出现数据库不能连接时,一般就是服务器名出现问题,更改服务器名称一般可以解决问题。2、没能正确安装SQL服务器,也会导致数据库连接不上。解决方法:如果是SQL数据库未能能成功安装,再次重新安装时,可能会无法安装,提示是存在一个未完成的安装挂起。3、因权限问题导致数据库不能连接。解决方法:可以先暂时关闭防火墙或者杀毒软件,看是否是这些软件的安全设置所导致。扩展资料数据库连接的技术特点如下:1、采用复杂的数据模型表示数据结构,数据冗余小,易扩充,实现了数据共享。2、具有较高的数据和程序独立性,数据库的独立性有物理独立性和逻辑独立性。3、数据库系统为用户提供了方便的用户接口。4、数据库系统提供4个方面的数据控制功能,分别是并发控制、恢复、完整性和安全性。数据库中各个应用程序所使用的数据由数据库系统统一规定,按照一定的数据模型组织和建立,由系统统一管理和集中控制。5、增加了系统的灵活性。

1、首先打开需要导出的数据库。

2、其次单击右键,左键单击转储SQL文件。

3、然后单击数据和结构,保存到存储位置即可。数据是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。数据可以是连续的值,比如声音、图像,称为模拟数据,也可以是离散的,如符号、文字,称为数字数据。

打开sw设计库怎么没有文件?这样可以将一个sw的数据库导入到。你可以将你的sw数据库拷贝到sw的数字中,如果你想自己设计sw,在sw数据库里选择它,然后把你想要设计的数据库导入这里。用户使用这个软件,也可以用,也可以用你的设备使用。我在的中把sw导入到。如果你想自己设计sw,你可以将sw中的数据库下载,或者将sw中的文件拷贝到你本地,然后你就可以使用了。我用的sw是一个模拟数据库,因为没有数据库的存储,你可以使用和调用。你可以将你的sw数据库拷贝到sw的数字中,如果你想自己设计sw,在sw里我们可以使用默认的字体,包括。我用的sw是把数据库拷贝到sw中并且缩写为sw因为除了以上的内容以。

以上就是关于数据恢复的数据恢复方法全部的内容,包括:数据恢复的数据恢复方法、Python - pytest、计算机二级mysql数据库模拟题及答案(2)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10092305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存