当前位置:文档之家› Python白盒测试实验报告

Python白盒测试实验报告

青岛科技大学实验报告
课程:软件测试基础实验项目:白盒测试
专业:计算机科学与技术班级:惠普测试142
姓名:闫伟明日期:2016-11-25
实验要求:
(1)根据下述C代码及对应流程图,将其转换成Python代码;
void DoWork (int x,int y,int z)
{
int k=0,j=0;
if ( (x>3)&&(z<10) )
{ k=x*y-1;
j=sqrt(k);
} //语句块1
if ( (x==4)||(y>5) )
{ j=x*y+10; } //语句块2
j=j%3; //语句块3
}
流程图:
Python代码:
#py001.py
import math
def DoWork(x,y,z):
k=0
j=0
if x>3 and z<10:
k=x*y-1
j=math.sqrt(k)
if x==4 or y>5:
j=x*y+10
j=j%3
return k,j
(2)根据Python代码设计白盒测试用例,包括:
➢语句覆盖;
测试用例输入为:{ x=5、y=6、z=7 }
程序执行的路径是:abd
➢判定覆盖;
测试用例的输入为:{x=5、y=6、z=7};{x=1、y=2、z=3}
程序执行的路径分别是:abd;ace
➢条件覆盖;
➢判定/ 条件覆盖;
➢组合覆盖
对DoWork函数中的各个判定的条件取值组合加以标记:
根据组合覆盖的思想,设计测试用例如下:
(3)根据设计的测试用例,使用unittest 完成测试实验。

(注:每一个测试方法用一个py文件,共5个py文件)
1.test001.py
# -*- encoding:utf8 -*-
import unittest
from py001 import DoWork
class Test001(unittest.TestCase):
"""
语句覆盖:
测试用例的输入为:{x=5、y=6、z=7}
"""
def test_yjfg(self):
self.assertEquals(DoWork(5,6,7),(29,1))
2.test002.py
# -*- encoding:utf8 -*-
import unittest
from py001 import DoWork
class Test002(unittest.TestCase):
"""
判定覆盖:
测试用例的输入为:{x=5、y=6、z=7};{x=1、y=2、z=3}
"""
def test_pdfg1(self):
self.assertEquals(DoWork(5,6,7),(29,1)) def test_pdfg2(self):
self.assertEquals(DoWork(1,2,3),(0,0))
3.test003.py
# -*- encoding:utf8 -*-
import unittest
from py001 import DoWork
class Test003(unittest.TestCase):
"""
条件覆盖:
测试用例的输入为:{x=4、y=6、z=7};{x=1,y=2,z=13}
"""
def test_tjfg1(self):
self.assertEquals(DoWork(4,6,7),(23,1)) def test_tjfg2(self):
self.assertEquals(DoWork(1,2,13),(0,0))
4.test004.py
# -*- encoding:utf8 -*-
import unittest
from py001 import DoWork
class Test004(unittest.TestCase):
"""
判定/条件覆盖:
测试用例的输入为:{x=4、y=6、z=9};{x=3,y=5,z=10}
"""
def test_pdtjfg1(self):
self.assertEquals(DoWork(4,6,9),(23,1)) def test_pdtjfg2(self):
self.assertEquals(DoWork(3,5,10),(0,0))
5.test005.py
# -*- encoding:utf8 -*-
import unittest
from py001 import DoWork
class Test005(unittest.TestCase):
"""
组合覆盖:
测试用例的输入为:
{x=4,y=6,z=6};{x=4,y=5,z=10};{x=3,y=6,z=6};{x=3,y=5,z=10};
{x=5,y=5,z=5}
"""
def test_zhfg1(self):
self.assertEquals(DoWork(4,6,6),(23,1))
def test_zhfg2(self):
self.assertEquals(DoWork(4,5,10),(0,0))
def test_zhfg3(self):
self.assertEquals(DoWork(3,6,6),(0,1))
def test_zhfg4(self):
self.assertEquals(DoWork(3,5,10),(0,0))
def test_zhfg5(self):
self.assertEquals(DoWork(5,5,5)
,(24,1.8989794855663558))
运行截图:。

相关主题