当前位置:首页 » 编程软件 » 测试脚本需要

测试脚本需要

发布时间: 2024-02-09 01:14:33

Ⅰ 软件测试常用shell脚本

一 循环

#!/bin/bash

mv perf.log perf.log_bak

while (( "1"=="1" ))

do

java -cp 'conf/:apps/*:lib/*' org.bcos.channel.test.db.PerfomanceOk trans 50000 100  >碰毕誉>  perf.log

sleep 550

done

二 预期输入

#!/bin/bash

set -x

set -e

ethconsole ${node_path}/nodedata-1/data/geth.ipc <<EOF

web3.admin.getPeers(console.log);web3.eth.getBlock(2,console.log)

EOF

/usr/bin/expect << EOF

set timeout 500

spawn ./install_node.sh install

expect "gavin:"

send "Aa12345!\r"

expect "Installing eth environment success"

EOF

三 函数调用

running(){

  sleep 1

  old_count=`grep +++++  ${host_path}/build/nodedir$1/log/info*|wc -l`

  sleep 7

  new_count=`grep +++++  ${host_path}/build/nodedir$1/log/info*|wc -l`

  if((${old_count}<${new_count}))

  then

    echo "****** success, node$1 is running normally ******"

    #return true

  else

    echo "****** fail,node$1 is not running ******"

    #return false

  fi

}

running 3

四 curl命令借口测试

curl -X POST --data '{"jsonrpc":"2.0","method":"admin_nodeInfo","params":[],"id":83}' 127.0.0.1:8545

curl -s -l -H "Content-type: application/json" -X POST -d '{"seqNo":"1067","orgNo":"123","chainId":"100120043","chainName":"he43","chainContent":"test43","extId":"ex43"}' http://10.107.105.143:9000/api/chain/new

五 根据日志统计

grep '2018-09-06 19:1' appmonitor.log|grep New |awk -F 数散'"' '{a+=$8;b+=1} END {print a,b,a/b}'  统计19:10-19:19分,所有上链的次数和平均耗笑段时

Ⅱ 进行软件测试需要的脚本是什么啊

首先我觉得lz你没说清楚是什么脚本,
软件测试脚本包括很多,单测脚本,接口参数脚本,自动化测试脚本,性能测试脚本。
其实也就是代码,测试代码而已。

Ⅲ 什么是测试脚本!它和测试用例有什么关系

测试脚本是一段代码不假。但是这段代码可能是为了执行某一条,或很多条测试用例而写的。
也有可能 ,本身就是一条用例。

用例本身并不局限在基于功能。

脚本和用例没有并列的可比性。

脚本可能是用例,也可能是执行用例用的功能。用例也可能是脚本。明白了么

Ⅳ 自动化测试实例二:脚本开发(上)

完成测试用例后就可以开发测试脚本,一般包括自动化测试框架的开发和功能脚本的开发。在本节中不介绍如何开发自动化测试框架,有兴趣的读者可以参考《 QTP 自动化测试与框架模型设计 》一书中第 19 章和第 20 章的自动化测试框架的内容。本章介绍该实例中需要调用到的函数。

(1)公用函数封装。

在本实例中需要封装的函数主要包括: 读取测试用例、输入每个测试用例的测试结果。

通过获取单元格中数据的行数,可以确定测试用例文档中有多少条测试用例, 代码如下:

读取单元格中的数据,即获得测试用例值, 代码如下:

在该实例中还需要记录每个测试用例执行的结果, 封装的代码如下:

由于在本实例中需要连接数据库,检查数据库中的数据是否正确,所以将连接数据库的代码进行封装, 代码如下:

(2)单一模式脚本开发。

自动化测试脚本开发完成后,开始录制脚本,这个阶段主要是将自动化测试的需求转换为一个简单的脚本。

1)录制登录过程的脚本如下:

2)录制订票流程的脚本如下:

3)录制航班信息的脚本如下:

4)录制查询订票信息的脚本如下:

(3)脚本增强。

录制好的单一模式脚本的功能很弱,只完成了一个简单的功能,不具备可扩展性,无法兼容不同的测试数据,所以需要对上面的脚本进行增强。在录制单一模式的脚本时,其实有一个功能是通用的,就是登录功能,每个操作的功能都需要先登录系统,所以可将一个正确登录的脚本封装成一个过程,这样可以节约脚本量,也便于维护脚本。在封装登录过程时,需要使用到描述性编程, 封装的代码如下:

接着对登录的脚本进行增强操作,增强的原因是脚本需要能正确处理当输入用户名或密码出错的情况。 主要需要处理的情况有: 输入的用户名为空、输入的用户名少于 4 个字符、输入的密码为空、输入的密码少于 4 个字符。 登录功能增强后的脚本如下:

订票流程脚本的增强主要需要处理订票日期未输入和输入错误的情况, 订票流程功能增强后的脚本如下:

航班信息查询脚本的增强主要是需要检查当选择出发城市和到达城市后,显示出来的航班信息是否正确,脚本增强时需要获取所有航班信息。 增强后的脚本如下:

查询订票信息脚本增强主要是需要检查该航班号是否存在,如果航班号不存在,会弹出相应的对应信息;如果查询的订单号存在,就会显示出该订单的相关信息。 增强后的脚本如下:

Ⅳ 如何使用python编写测试脚本

1)doctest
使用doctest是一种类似于命令行尝试的方式,用法很简单,如下

复制代码代码如下:

def f(n):
"""
>>> f(1)
1
>>> f(2)
2
"""
print(n)

if __name__ == '__main__':
import doctest
doctest.testmod()

应该来说是足够简单了,另外还有一种方式doctest.testfile(filename),就是把命令行的方式放在文件里进行测试。

2)unittest
unittest历史悠久,最早可以追溯到上世纪七八十年代了,C++,Java里也都有类似的实现,Python里的实现很简单。
unittest在python里主要的实现方式是TestCase,TestSuite。用法还是例子起步。

复制代码代码如下:

from widget import Widget
import unittest
# 执行测试的类
class WidgetTestCase(unittest.TestCase):
def setUp(self):
self.widget = Widget()
def tearDown(self):
self.widget.dispose()
self.widget = None
def testSize(self):
self.assertEqual(self.widget.getSize(), (40, 40))
def testResize(self):
self.widget.resize(100, 100)
self.assertEqual(self.widget.getSize(), (100, 100))
# 测试
if __name__ == "__main__":
# 构造测试集
suite = unittest.TestSuite()
suite.addTest(WidgetTestCase("testSize"))
suite.addTest(WidgetTestCase("testResize"))

# 执行测试
runner = unittest.TextTestRunner()
runner.run(suite)

简单的说,1>构造TestCase(测试用例),其中的setup和teardown负责预处理和善后工作。2>构造测试集,添加用例3>执行测试需要说明的是测试方法,在Python中有N多测试函数,主要的有:
TestCase.assert_(expr[, msg])
TestCase.failUnless(expr[, msg])
TestCase.assertTrue(expr[, msg])
TestCase.assertEqual(first, second[, msg])
TestCase.failUnlessEqual(first, second[, msg])
TestCase.assertNotEqual(first, second[, msg])
TestCase.failIfEqual(first, second[, msg])
TestCase.assertAlmostEqual(first, second[, places[, msg]])
TestCase.failUnlessAlmostEqual(first, second[, places[, msg]])
TestCase.assertNotAlmostEqual(first, second[, places[, msg]])
TestCase.failIfAlmostEqual(first, second[, places[, msg]])
TestCase.assertRaises(exception, callable, ...)
TestCase.failUnlessRaises(exception, callable, ...)
TestCase.failIf(expr[, msg])
TestCase.assertFalse(expr[, msg])
TestCase.fail([msg])

热点内容
鸿蒙系统与安卓区别在哪里 发布:2024-11-16 06:24:59 浏览:123
安卓手机如何更改信息提示音 发布:2024-11-16 06:12:52 浏览:142
我的世界服务器domc 发布:2024-11-16 06:04:54 浏览:854
object类型java 发布:2024-11-16 06:04:46 浏览:477
骑砍2存储 发布:2024-11-16 06:04:04 浏览:179
nas的监控存储 发布:2024-11-16 05:52:53 浏览:316
phpxml转换 发布:2024-11-16 05:47:10 浏览:955
内网服务器搭建什么公司做 发布:2024-11-16 05:36:24 浏览:594
如何利用map做本地缓存 发布:2024-11-16 05:34:37 浏览:539
w7恢复出厂设置密码是多少 发布:2024-11-16 05:23:49 浏览:791