测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

我所了解的模块接口测试大体分为两类:模块接口测试和web接口测试

模块接口测试是单元测试的基础。它主要测试模块的调用与返回。

过这个例子放大了来看,假如几个开发人员去完成一个系统,他们分别开发一些功能模块,最终数据会在这些功能模块之间传递。当A开发好自己负责的功能模块后会提供相应的接口(类方法、函数),B肯定需要模拟数据调用A写的接口,检查返回值是否正确。

当然,测试的手段遵循测试的一些要点。

  1、检查接口返回的数据是否与预期结果一致。

  2、检查接口的容错性,假如传递数据的类型错误时是否可以处理。例如上面的例子是支持整数,传递的是小数或字符串呢?

  3、接口参数的边界值。例如,传递的参数足够大或为负数时,接口是否可以正常处理。

  4、接口的性能,接口处理数据的时间也是测试的一个方法。牵扯到内部就是算法与代码的优化。

  5、接口的安全性,如果是外部接口的话,这点尤为重要。

web接口测试

  web接口测试又可分为两类:服务器接口测试和外部接口测试。

  服务器接口测试:是测试浏览器与服务器的接口。这个很容易理解,我们知道web开发一般分前端和后端,前端开发人员用html/css/javascript等技术。后端开发人用php/java/python/ruby等各种语言。用户输入的数据是输入到的前端页面上,怎样把这些数据传递的后台的呢?通过http协议的get与post请求来实现前后端的数据传递。这也可认为是接口测试,调用的登录接口还是查询接口,传参的是用户密码还是搜索关键字。

  外部接口测试:这个很典型的例子就是第三方登录,比如你做的新系统免于新用户重新注册的麻烦会提供第三方登录,那用户在登录的时候调用的就是第三方登录的接口,由第三方验证用户名和密码并且返回给当前系统。

  对于服务器接口测试,我们来看例子。

==================================

准备:

Python 下载地址: https://www.python.org/

Flask 微型web框架。flask安装:> pip install flask

==================================

查看flsk是否安装成功。

fromflaskimportFlaskapp= Flask(name)@app.route("/user/")defuser(name):return"

hello %s !

"%nameif__name__=='main': app.run(debug=True)

通过浏览器访问:http://127.0.0.1:5000/user/zhangsan

这是一个最简单的get请求,我们可以把“zhangsan”改成任意字符来时行测试。

对于web接口测试来说有哪些测试要点:

  1、请求是否正确,默认请求成功是200,如果请求错误也能返回404、500等。

  2、检查返回数据的正确性与格式;json是一种非常创建的格式。

  3、接口的安全性,一般web都不会暴露在网上任意被调用,需要做一些限制,比如鉴权或认证。

  4、接口的性能,web接口同样注重性能,这直接影响用户的使用体验。如果我搜索一个关键字半天结果都没返回,果断弃用。

开发的能力会极大的影响你的各种测试技术的学习能力,和使用深度

接口测试很有必要了解web开发,只有知道接口是如何被开发出来的。才能把接口测试做更好

rom django.db import models

from django.contrib import admin

Create your models here.

class BlogsPost(models.Model):

title = models.CharField(max_length = 150)

body = models.TextField()

timestamp = models.DateTimeField()

admin.site.register(BlogsPost)

http://www.cnblogs.com/fnng/p/3737964.html

tftp

命令格式为:

tftp [option] ... host [port]

如果要下载或上传文件的话是一定要用这些option的。成都明诚科技。

-g表示下载文件(get)

-p表示上传文件(put)

-l表示本地文件名(local file)

-r表示远程主机的文件名(remote file)

例如,要从远程主机192.168.1.2上下载embedexpert,则应输入以下命令

tftp -g -r embedexpert 192.168.1.2

https://testerhome.com/

参考文章:http://www.zavedil.com/software-mtp-support-rhel-6/

要达到读取安卓手机内容的目的,我们需要安装go-mtpfs,在这之前,需要先装上一些基本的配件:

1.yum install bison gcc mercurial libusb-devel

2.如果你的电脑没有libusb-1.0的话,在安装过程中会出错,下面是安装的链接:

http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.9/libusb-1.0.9.tar.bz2

下载到一个/tmp之类的文件夹中,解压 tar xjvf libu** ,然后进入该文件夹,依次执行 ./configure ;make;make install(当然这需要在root的身份下)

安装完之后,还需要配置环境:

export PKG_CONFIG_PATH=/usr双击查看原图b/pkgconfig:$PKG_CONFIG_PATH 其中的/usr双击查看原图b/不一定是存在pkgconfig的,具体要写pkgconfig存在的位置

3.安装go语言包,详见我的博客“CentOS6.5下安装golang”

4.下载go-mtpfs

mkdir /tmp/go

export GOPATH=/tmp/go

go get github.com/hanwen/go-mtpfs

cp /tmp/go/bin/go-mtpfs /usr/bin

chmod 4755 /usr/bin/go-mtpfs

5.配置挂载:

     chmod 4755 /bin/fusermount
mkdir /mnt/phone
chmod 777 /mnt/phone
然后在/usr/bin 中新建两个文件phone-mount.sh 和 phone-unmount.sh 并修改它们的权限为 777.
编辑两个文件的内容:

phone-mount.sh:

/bin/bash

Export a suitable path - it is requred by the module,

but will not be supplied by the udev:

export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

Run the mounter as the user who will access the phone -

replace USER with your username

su USER -c "/usr/bin/go-mtpfs /mnt/phone &"

Exiting is important, else udev may hang here forever

exit

phone-unmount.sh:

/bin/bash

Export a suitable path

export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

Run the FUSE unmounter

/bin/fusermount -u /mnt/phone

   保存后再修改权限为755。
最后到/etc/udev/rules.d 文件夹中,新建一个rules文件,当然,如果你之前已经创建或者文件夹里存在诸如51-android.rules这样子的文件,那就不用新建了:

进入新建的文件夹,编辑:

SUBSYSTEM"usb", ATTRS{idVendor}"AAAA", ATTRS{idProduct}"BBBB", ACTION"add", RUN+="/usr/bin/phone-mount.sh"

ENV{ID_VENDOR_ID}"AAAA", ENV{ID_MODEL_ID}"BBBB", ACTION=="remove", RUN+="/usr/bin/phone-unmount.sh"

其中 AAAA是你手机的供应商识别吗,而BBBB是你的手机产品识别码。你可以用lsusb的指令查看手机的具体ID。

6.写在后面,至此,重启后理论上应该就可以即插即用了,不过我出了点小差错,没反应。

晕,,,,,所以我只能直接用指令罗,

su USER -c "/usr/bin/go-mtpfs /mnt/phone &"

其中USER记得替换为你自己的名字,在/mnt/phone里面终于出现我想要的东西。好吧,至少目的达到,不能即插即用的原因有待排查

参考文章:http://www.zavedil.com/software-mtp-support-rhel-6/

要达到读取安卓手机内容的目的,我们需要安装go-mtpfs,在这之前,需要先装上一些基本的配件:

1.yum install bison gcc mercurial libusb-devel

2.如果你的电脑没有libusb-1.0的话,在安装过程中会出错,下面是安装的链接:

http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.9/libusb-1.0.9.tar.bz2

下载到一个/tmp之类的文件夹中,解压 tar xjvf libu** ,然后进入该文件夹,依次执行 ./configure ;make;make install(当然这需要在root的身份下)

安装完之后,还需要配置环境:

export PKG_CONFIG_PATH=/usr b/pkgconfig:$PKG_CONFIG_PATH 其中的/usr b/不一定是存在pkgconfig的,具体要写pkgconfig存在的位置

3.安装go语言包,详见我的博客“CentOS6.5下安装golang”

4.下载go-mtpfs

mkdir /tmp/go

export GOPATH=/tmp/go

go get github.com/hanwen/go-mtpfs

cp /tmp/go/bin/go-mtpfs /usr/bin

chmod 4755 /usr/bin/go-mtpfs

5.配置挂载:

     chmod 4755 /bin/fusermount
mkdir /mnt/phone
chmod 777 /mnt/phone
然后在/usr/bin 中新建两个文件phone-mount.sh 和 phone-unmount.sh 并修改它们的权限为 777.
编辑两个文件的内容:

phone-mount.sh:

/bin/bash

Export a suitable path - it is requred by the module,

but will not be supplied by the udev:

export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

Run the mounter as the user who will access the phone -

replace USER with your username

su USER -c "/usr/bin/go-mtpfs /mnt/phone &"

Exiting is important, else udev may hang here forever

exit

phone-unmount.sh:

/bin/bash

Export a suitable path

export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

Run the FUSE unmounter

/bin/fusermount -u /mnt/phone

   保存后再修改权限为755。
最后到/etc/udev/rules.d 文件夹中,新建一个rules文件,当然,如果你之前已经创建或者文件夹里存在诸如51-android.rules这样子的文件,那就不用新建了:

进入新建的文件夹,编辑:

SUBSYSTEM"usb", ATTRS{idVendor}"AAAA", ATTRS{idProduct}"BBBB", ACTION"add", RUN+="/usr/bin/phone-mount.sh"

ENV{ID_VENDOR_ID}"AAAA", ENV{ID_MODEL_ID}"BBBB", ACTION=="remove", RUN+="/usr/bin/phone-unmount.sh"

其中 AAAA是你手机的供应商识别吗,而BBBB是你的手机产品识别码。你可以用lsusb的指令查看手机的具体ID。

6.写在后面,至此,重启后理论上应该就可以即插即用了,不过我出了点小差错,没反应。

晕,,,,,所以我只能直接用指令罗,

su USER -c "/usr/bin/go-mtpfs /mnt/phone &"

其中USER记得替换为你自己的名字,在/mnt/phone里面终于出现我想要的东西。好吧,至少目的达到,不能即插即用的原因有待排查

http://blog.sina.com.cn/s/blog_12f37f0f00102wi8q.html

suibi1117的更多相关文章

随机推荐

  1. 目前用到最全的datagrid(easyui)

    包含checkbox.复合表头.多行可编辑单元格.combobox单元格,就差上次做的table中每行中的关联检索combobox单元格了.目前已修改为单行编辑,多行编辑时的check有问题 $(&q ...

  2. centos启动流程[转]

    启动流程概览 在硬件驱动成功后,Kernel 会主动呼叫 init 程序,而 init 会取得 run-level 资讯: init 运行 /etc/rc.d/rc.sysinit 文件来准备软件运行 ...

  3. 【转】iOS 删除已经配置的类库和移除CocoaPods

    原文网址:http://www.jianshu.com/p/552f21a989ba 引言 我们使用CocoaPods非常高效地将一些第三方类库导入到我们的项目中,但是不由得产生一个疑问:如果发现某个 ...

  4. 论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks

    Semi-Supervised Learning with Generative Adversarial Networks 引言:本文将产生式对抗网络(GAN)拓展到半监督学习,通过强制判别器来输出类 ...

  5. dede模板完全控制攻略

    1.使用php代码 @me代表了当前字段的值 {dede:tagname runphp='yes'} @me = "123456";//如果使用了自定义函数 则@me得到的是函数返 ...

  6. oracle中如何指定表字段自增

    背景介绍: SQL SERVER可以在int类型的字段后加上identity(1,1),该字段就会从1开始,按照+1的方式自增,将这个字段设置为主键,有利于我们进行数据的插入操作.MySql中可以使用 ...

  7. noip2011普及组——数字反转

    数字反转 时间限制:1s 内存限制:128MB[问题描述]给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零 ...

  8. OpenJudge计算概论-找最大数序列

    /*===================================== 找最大数序列 总时间限制: 1000ms 内存限制: 65536kB 描述 输入n行(n 不大于 30),每行不超过10 ...

  9. EDM营销算法:python自动批量发邮件

    EDM营销:全称Email Direct Marketing,即电子邮件营销.企业可以通过使用EDM软件向目标客户发送EDM邮件,建立同目标顾客的沟通渠道,向其直接传达相关信息,用来促进销售.EDM软 ...

  10. struts2.0的工作原理

    struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说 struts2是struts1和Webwork结合的产物. struts2 的工作原理 ...