Python单元测试与安全测试浅析

本文探讨了测试在编程中的重要性,包括功能测试和安全测试。介绍了Python的unittest库进行单元测试,展示了如何编写测试用例,并提供了一个安全测试的案例,即测试短信接口防止短信轰炸。文章强调理解代码执行结构对于编写测试用例的重要性,并提到了测试驱动开发的实践方法。
摘要由CSDN通过智能技术生成

测试的意义

作者:Mysticbinary

人们针对一个具体问题,通过分析和设计,最后用编程语言写出了一个程序,如果它通过了语言解释器(编译器)的检查,可以运行了,那么下一步的工作就是设法确认它确实满足了我们需求。这篇文章就是讨论怎么确认程序是否满足用户提出的需求。   满足需求,换言之就是功能正常,确认功能正常可以从以下几个方面确认:   定义的函数对于所有正确的参数都能返回正确的结果   写出的程序对所有合适的输入都能产生正确的输出   量化后的做法就是通过一系列的试运行,检查程序的行为、输入和输出,如果检查中发现了问题,就纠正、改进。这个也是功能测试和安全测试的初衷。

测试用例

测试考虑的基本问题就是怎么运行程序,需要提供什么数据,才能最大限度的检查程序的各种行为和情况,最大可能的挖出程序中的错误和缺陷。基于设计什么测试流程、提供什么参数这种检查程序运行的一套数据被称为一个测试用例。一个测试用例就是可量化的测试流程。   确认测试用例又区分两类方式:

黑盒测试

就是不看代码,直接上手程序的使用测试。这里不讨论黑盒测试。   白盒测试   白盒测试的基础是看程序的内部结构(代码)和可能产生的执行路径,根据内部结构来选择测试的用例,使程序在试验性运行中就能表示出尽可能多的不同行为。这个做法的基本理念就是:如果所有可能执行的路径(顺序、条件、while、for、嵌套…执行结构)都能给出正确的结果,那么程序的正确性就能得到保证。

测试函数功能案例

各类的语言都会提供单元测试的库,Python也不例外,python一般使用PyUnit(unittest)库,unittest是Python自带的单元测试框架,用于编写和运行可重复的测试,下面介绍怎么用unittest来测试函数的用法,我这里只是简单用了几个测试方法,更多测试方法请查阅官网(https://docs.python.org/3/library/unittest.html)。

3个需要测试的函数:

 def mysum(a, b):
  return a + b
  def mysubtraction(a, b):
  return a - b
  def is_evenNumbers(x):
  if (x % 2) == 0:
  return True
  else:
  return False

测试函数的方法:

 import unittest
  import testbox.mymath as mymath

  class Test(unittest.TestCase):
  def setUp(self):
  print("The unit test function start.")
  def test_mysum(self):
  self.assertEqual(mymath.mysum(1, 2), 3, "mysum function have error!")
  def test_mysubtraction(self):
  self.assertEqual(mymath.mysubtraction(2, 1), 1, "mysubtraction function have error!&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值