• 15
  • 15
分享
  • 数据库:除了增删改查,我还会设计和创建!——软件测试圈
  • 曼倩诙谐 2021-10-08 10:00:18 字数 1895 阅读 2148 收藏 15

  在日常测试工程中,不管是功能测试、接口测试、UI测试等,其实本质都是对应用程序的数据进行增删改查操作。开发人员设计好数据库模型后,各个业务功能都依赖于对该模型进行操作,从而展现出不同的数据给用户。

  在面试或者是写简历时,对数据库只能一句话概括“掌握数据库的增删改查”。今天来给大家带大家了解下web应用程序的数据库设计和相关操作,也就是学习下数据库是如何设计和生成的。

  在开始之前,首先要知道常用的web应用框架有django和flash框架,两者的区别可以简单形容为django像是精装房,大而全,功能极其强大,是Python web框架的先驱,用户多,第三方库极其丰富,适合企业级网站;而flash像是毛坯房,小巧、灵活,让程序员自己决定定制哪些功能,非常适用于小型网站。

  今天我们就选Django框架来演示数据库设计和生成。

  Django自带ORM模型,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。

  ORM模型基础

  在开始设计数据库之前,我们先来了解下数据类型,作为一个测试人员,在日常测试中我们都会考虑到以下测试点:

  1.字段支持输入的类:数字、字母等

  2.字段是否允许为空

  3.字段是否唯一

  ……

  其实以上规则限制需要引用到Django ORM数据库模型。

  了解数据类型

  在学习python或java等开发语言过程中,我们首先第一步学习的就是了解这个语言的数据类型,那么在学Django的ORM数据模型也是一样,我们第一步也是要先了解其常用的数据字段类型。

1-1.png

  了解数据字段常用属性

1-2.png

  具体其他参考相关资料文档说明。

  注册数据表设计

  Django的ORM数据模型定义在项目的models.py文件内。常见的用户注册信息一般包含一下几个字段,用户名、密码、邮箱、手机号等,所以对应的数据库设计:

  前提:已创建django项目和程序。

1-3.png

  数据表注册

  1.检查条件

  1)注册app

  在项目的配置文件settings.py内的INSTALLED_APPS内注册app应用程序。

  2)设置数据库连接信息

  创建app时会自动创建sqlite3,django默认是用该数据库启动;若需要更换成mysql,则对应的项目的配置文件settings.py内的DATABASES也需要设置成mysql配置信息。

  2.数据库模型激活

  激活命令:python manage.py makemigrations

  执行激活命令后会在项目的migrations目录下生成一个预处理文件。

1-4.png

1-5.png

  数据表迁移(同步到数据库)

  迁移命令:python manage.py migrate

1-6.png

  迁移成功后才可操作数据库,迁移成功后数据库内自动以“app_模型类名小写”命名生成一张新的数据库表,如下图:

1-7.png

  操作数据库

  Django自带的ORM(object relational mapping对象关系映射)模型,通过调用api直接操作对应的数据库即可。如果业务逻辑未完成,Django也提供超级管理员界面,可通过超级管理员直接操作数据库模型。

  1.创建超级管理员,执行命令:python manage.py createsusperuser,按照提示创建管理员

  2.将数据库注册到超级管理

  3.启动Django服务:python manage.py runserver (启动成功够默认服务地址127.0.0.1:8000)

  4.访问超级管理员后台:http://127.0.0.1:8000/admin/   进入超级管理员登录界面:

1-8.png

  输入超级管理员账号和密码即可登录管理后台。

  5.超级管理员关联用户自定义的数据库,在项目下的admin.py文件内注册用户自定义的数据库,注册后超级管理员admin就有权限访问该数据库。

1-9.png

  点击对应的Account即可进行数据库的增删改查操作。

1-10.png

  以上内容就是一个数据库表生成的全过程,当然了实际业务中使用的数据库表字段更多,还设计到表与表之间的关系等,并不是一个用户信息表这么简单的事情,本文的主要目的是给大家普及下数据库表的生成过程以及数据库字段类型的概念。通过一个简单的案例让大家对数据库有更进一步的了解~



作者:绿豆芽呀   

来源:http://www.51testing.com/html/71/n-4478871.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 前言随着测试技术的发展,接口自动化测试逐渐成为各大公司投入产出比最高的测试技术。介入时间早,执行效率高,稳定性高的优点,让越来越多的公司引入接口自动化测试。框架简介APIAutoTest是处理API接口的轻量级自动化测试框架,Java语言实现,基于TestNG测试框架,支持持续集成,自动构建与测试。框架介绍数据驱动设计,使用TestNG中的@DataProvider读取Excel中存储的自动化测试用例;基于TestNG测试框架;使用HttpClient发送Http请求,并统一接口response返回值为String;使用fastJson和Jsoup进行数据解析,由于请求返回值的统一,解析数据异...
            12 13 1948
            分享
          •   一、测试的流程  WEB测试和app应用测试从流程上来说,没有区别。都需要经历测试计划方案,用例设计,测试执行,缺陷管理,测试报告等相关活动。从技术上来说,WEB测试和APP测试其测试类型也基本相似,都需要进行功能测试,性能测试,安全性测试,GUI测试等测试类型。  二、web测试和app测试具体区别  1、兼容性测试的区别  在WEB端是兼容浏览器,在应用端兼容的是手机设备而且相对应的兼容性测试工具也不相同,WEB因为是测试兼容浏览器,所以需要使用不同的浏览器进行兼容性测试(常见的是兼容IE6,IE8,铬,火狐)如果是手机端,那么就需要兼容不同品牌,不同分辨率,不同的Android版本甚...
            0 0 353
            分享
          •   二、CentOS安装:  方式一:把下载的.rpm包推送到服务器上;  方式二:直接命令行安装#下载 wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.1.x86_64.rpm #安装 yum localinstall?influxdb-1.7.1.x86_64.rpm -y  2.3 修改配置文件  解压完成的InfluxDB,主要有四个文件夹:data、Influxdb-1.8.4.1、meta、wal,如下图:  Meta目录:用于存储数据库的一些元数据,meta.db 文件;  ...
            0 0 713
            分享
          • 又是一条让人看不懂的新闻。8月18日,网红奶茶茶颜悦色在南京开业,一大早还没开门店铺外就排起长队。开业大约半小时左右,就因人流量过大造成拥堵,不得不暂停营业。因为生意过于火爆而关门已经足够匪夷所思了。而在部分交易平台上,可以看到该奶茶代购代排服务,代购一杯奶茶的价格最高达200元。换句话说,光代购费就是奶茶本身价格的10倍了。什么样的奶茶有这样的吸引力?此情此景,让人不禁问一句:“它会魔法吧?”2022年8月18日,南京,茶颜悦色新街口门前,消费者在观看暂时闭店公告。作为一个喝了多年奶茶的人,我仍然表示不能理解这种狂热。价格炒到这个高度,这一杯奶茶早已不是奶茶本身了。这个时候,谈论这杯奶茶有多...
            0 0 1199
            分享
          • 读者提问:小程序自动化测试框架有推荐的吗 ?阿常回答:有,MiniTest。官网地址:https://minitest.weixin.qq.com小程序测试示例:https://git.weixin.qq.com/minitest/miniprogram-demo-test阿常碎碎念:目前小程序的体量越来越大,相关的框架和组件库越来越多,对于测试能力要求也越来越高。业内同行基于Chrome DevTools Protocol开发了很多小程序相关的测试工具,这些工具都有以下缺点:只能在Android端上运行。小程序实际是一个跨平台的产品(IDE,Android和IOS),测试的平台覆盖...
            0 0 1361
            分享
      • 51testing软件测试圈微信