软件测试实用案例上机报告一

一、上机内容(单元测试)

我是一个一个喜欢开摆的懒猫罢(悲)
希望能HELP缩短这不必要的一小时甚至半小时,多抽出点时间打电动捏 😋

二、简单计算机测试

1、题目

这里是引用
在这里插入图片描述

2、编码(源代码)

这里是引用
编写test_cal.py文件:
在这里插入图片描述在这里插入图片描述
当然,你是需要HTMLTestRunner.py和Cal.py文件滴:😋

Cal.py:

class calculator:
    a=10
    b=20
    def add(self):
        return self.a+self.b
    def sub(self):
        return self.a-self.b
    def multipy(self):
        return self.a*self.b
    def divide(self):
        try:
            return self.a/self.b
        except ZeroDivisionError:
            return("除数不能为0")

test_cal.py:

import HTMLTestRunner
import unittest
from unittest import TestCase
import Cal as cal
class TestCalculator(TestCase):
    def setUp(self):
        self.calObject=cal.calculator()
    def test_add(self):
        result=self.calObject.add()
        self.assertEqual(result,30)
    def test_sub(self):
        result = self.calObject.sub()
        self.assertEqual(result, -10)
    def test_multipy(self):
        result = self.calObject.multipy()
        self.assertEqual(result, 200)
    def test_divide(self):
        self.calObject.b=0
        result = self.calObject.divide()
        self.assertEqual(result, '除数不能为0')
def suite():
    calTestCase=unittest.TestSuite()
    calTestCase.addTest(TestCalculator('test_add'))
    calTestCase.addTest(TestCalculator('test_sub'))
    calTestCase.addTest(TestCalculator('test_multipy'))
    calTestCase.addTest(TestCalculator('test_divide'))
    return calTestCase
if __name__=="__main__":
    fp=open('res1.html','wb')
    runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title='简单计算机的测试',description='详情')
    runner.run(suite())
    print('测试')
    fp.close()

HTMLTestRunner.py:太长了,话说老师不是会给滴么😋

代码的意思就是说,判断预期结果和实际结果相同不,利用assertEqual()函数

3、HTMLTestRunner生成可视化报告

把HTMLTestRunner.py塞到lib目录:
在这里插入图片描述
有beyond喜欢在本地添加但是不知道python路径在哪是吧(怒)| 打开cmd—输入python进入命令行,输入这两行代码:
在这里插入图片描述
运行记得选择test_cal.py,不要用默认的pytest或unittest运行 😰:
在这里插入图片描述
生成了res1.html文件:①pycharm右上角有浏览器打开 ②右键在资源管理器中点开它(Open in=》Exploer)
在这里插入图片描述

4、coverage查看覆盖情况

安装😺:cmd命令行切换到python里scripts目录,输入pip
install coverage:

在这里插入图片描述
进入python命令行,输入import coverage,成功导入:
在这里插入图片描述
输入coverage html -d report 生成report文件夹:
在这里插入图片描述
在这里插入图片描述
打开index.html 🧐
在这里插入图片描述

三、基本覆盖路径法测试

1、题目

这里是引用

2、编码(源代码)

function.py:

def function(a,b,c):
    if((a>1)and(b==0)):
        c=c/a
    if((a==5)or(c>1)):
        c=c+1
    c=a+b+c
    return c

function_test.py:

import HTMLTestRunner
import unittest
import function as fun
from unittest import TestCase
class TestFunction(TestCase):
    def setUp(self) -> None:pass
    def test_1(self):
        result=fun.function(1,2,1)
        self.assertEqual(result,4)
    def test_2(self):
        result=fun.function(1,2,2)
        self.assertEqual(result,6)
    def test_3(self):
        result=fun.function(5,2,1)
        self.assertEqual(result,9)
    def test_4(self):
        result = fun.function(5, 0, 1)
        self.assertEqual(result, 6.2)
    def test_5(self):
        result = fun.function(5, 0, 5)
        self.assertEqual(result, 7)
def suite():
    calTestCase=unittest.TestSuite()
    calTestCase.addTest(TestFunction('test_1'))
    calTestCase.addTest(TestFunction('test_2'))
    calTestCase.addTest(TestFunction('test_3'))
    calTestCase.addTest(TestFunction('test_4'))
    calTestCase.addTest(TestFunction('test_5'))
    return calTestCase
if __name__=="__main__":
    fp=open('res2.html','wb')
    runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title='基本路径覆盖法',description='详情')
    runner.run(suite())
    print('测试')
    fp.close()

3、复读 🐔

和第一个做法一样捏 😴
年轻人给我发了两张截图,我一看,原来是HTMLTestRunner可视化报告和coverage覆盖率: 😹
在这里插入图片描述
在这里插入图片描述

四、三角形问题测试

1、题目

这里是引用

2、编码(源代码)

triangle.py:

def triangleStyletest(a,b,c):
    if(a<=0 or b<=0 or c<=0 or a+b<=c or a+c<=b or c+c<=a):
        return "无法构成三角形"
    elif(a==b and a==c and b==c):
        return "构成等边三角形"
    elif(a==b or a==c or b==c):
        return "构成等腰三角形"
    else:
        return "构成不等边三角形"

triangle_test.py:

import HTMLTestRunner
import unittest
import triangle as tri
from unittest import TestCase
class TestTriangle(TestCase):
    def setUp(self) -> None:pass
    def test_1(self):
        result=tri.triangleStyletest(1,1,1)
        self.assertEqual(result,'构成等边三角形')
    def test_2(self):
        result = tri.triangleStyletest(3, 4, 5)
        self.assertEqual(result, '构成不等边三角形')
    def test_3(self):
        result = tri.triangleStyletest(4, 5, 11)
        self.assertEqual(result, '无法构成三角形')
    def test_4(self):
        result = tri.triangleStyletest(2, 3, 2)
        self.assertEqual(result, '构成等腰三角形')

def suite():
    calTestCase=unittest.TestSuite()
    calTestCase.addTest(TestTriangle('test_1'))
    calTestCase.addTest(TestTriangle('test_2'))
    calTestCase.addTest(TestTriangle('test_3'))
    calTestCase.addTest(TestTriangle('test_4'))
    return calTestCase
if __name__=="__main__":
    fp=open('res3.html','wb')
    runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title='三角问题进行单元测试',description='详情')
    runner.run(suite())
    print('测试')
    fp.close()

3、复读复读🐔

和第二个做法一样捏 😴
年轻人给我发了两张截图,我一看,原来是HTMLTestRunner可视化报告和coverage覆盖率: 😹
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件测试技术实践考核上机练习题 软件测试技术实践考核上机考试基本要求(1004) 一、编程语言及上机环境 (1)C/C++编程语言 (2)VC++6.0及以上编译环境 二、考试内容 1、功能(黑盒)测试用例设计编程实现 (1)等价类划分法 (2)边界值分析法 (3)因果图法 (4)决策表法 2、结构(白盒)测试用例设计编程实现 (1)语句覆盖 (2)判定覆盖 (3)条件覆盖 (4)组合覆盖 (5)路径覆盖 (6)独立路径测试 三、上机考试程序 (1)考生抽取试题。 (2)排定考试座位(机位)。 (3)启动上机环境。 (4)开始考试。 (5)程序验收。 (6)适当的口试。 (7)成绩评定。 上机考试时间为120分钟。 上机考试成绩评定的依据主要是根据试题的完成情况和程序的运行结果,以及必要的口试。 四、考生注意事项 1、平时训练与考试 (1)思想重视 明确考试目的,端正考试态度,认真做好上机考试的准备工作。 (2)知识准备 平时认真学习,消化课程内容,熟悉编程环境和工具,认真做好课程实验。 (3)平时训练 应针对上机考试题型做好平时训练。 2、遵守考场纪律 对于下列情况之一者,实践课成绩为不及格。 (1)上机程序运行未通过。 (2)拷贝他人的上机程序。 (3)上机考试严重违纪。 软件测试技术实践考核上机考试练习题(1004) 练习题(一) 1、NextDate函数问题说明:输入一个日期,求从输入日期算起的第三天日期。例如,输入为2008年8月8日,则该程序的输出为2008年8月10日。NextDate函数包含三个整数变量month、day和year,并且满足下列条件:1≤ month ≤12、1≤ day ≤31和2000≤ year ≤2100。分析各种输入情况,列出为输入变量month、day、year划分的有效等价类: 输入等价类 输入 ID 有效等价类 day 1 1 ≤day≤26 2 day=27 3 day=28 4 day=29 5 day=30 6 day=31 month 7 month=4,6,9,11 8 month=1,3,5,7,8,10 9 month=2 10 month=12 year 11 闰年 12 非闰年

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值