02软件测试技术教案Word下载.docx
《02软件测试技术教案Word下载.docx》由会员分享,可在线阅读,更多相关《02软件测试技术教案Word下载.docx(28页珍藏版)》请在冰豆网上搜索。
教学内容及时间:
(70’)
一、前导(java基础)知识回顾
1、Java语法、Java程序结构
2、面向对象程序设计(类与对象)
3、类的三特性(继承、封装和多态)
4、方法(函数)及事件
二、Junit基本使用方法
三、Junit使用示例
任务一:
输入某年某月某日,判断这一天是这一年的第几天
任务二:
输出阶梯形式的9*9乘法口诀表
任务三:
编程实现判断一个整数是否为“水仙花数”
小结:
(10)
本次课程通过回顾java基础知识,明确测试的要求及其主要内容。
重点学习了:
1、Eclipse开发环境;
2、Junit测试套件及其基本应用。
反
思
课
后
作
业
1、仔细阅读教材,完成教程上的例题及课后习题
2、练习试题2
第 2教案
Junit异常处理应用
1、熟练使用Junit异常处理;
2、熟练使用Junit进行模块测试。
1、熟练使用Junit测试套件;
2、能根据任务要求,编写Java代码
2、养成良好的编码习惯
熟练运用Junit异常处理
计算机、Eclipse、JUNIT
(5’)
本次课程重点通过测试示例,练习使用Junit的异常处理功能,因为在进行测试时,Junit测试套件也可能会出现异常。
(80)
一、Junit异常处理介绍
二、Junit异常处理应用场景
三、任务练习
已知字符串数组A,包含初始数据:
a1,a2,a3,a4,a5;
字符串数组B,包含初始数据:
b1,b2,b3,b4,b5。
编写程序将数组A、B的每一对应数据项相连接,然后存入字符串数组C,并输出数组C。
输出结果为:
a1b1,a2b2,a3b3,a4b4,a5b5
编写函数(或方法):
将某已知数组的奇数项组合成一个新的数组。
在主函数(或主方法)中调用该函数(或方法),并循环输出新数组的内容
请完成以下编程工作:
①定义学生类,其包含2个属性:
学号,姓名。
②定义大学生类,该类继承于学生类,并新增一个属性:
专业。
③为大学生类实例化一个对象,并给这个大学生对象的所有属性赋值。
(5)
本次课程,通过三个小实例,重点演示了Junit的异常处理功能,讨论了异常处理的应用场景,需要通过多次的应用练习,达到熟练使用的目标。
1、继续完成课堂任务(未完成部分)
2、仔细学习教程上的例程,并认真进行上机训练(模拟)
3、独立自主完成课后练习
第 3教案
Junit的setup和tearDown使用
1、掌握setup()应用及其应用场景;
2、掌握tearDown应用及其应用场景
熟练使用setup()和tearDown()方法初始化或销毁被测试对象
Junit测试套件中setup()和tearDown()方法的使用
本次课,将重点演示Junit测试套件中setup()和tearDown()方法的使用。
这两个方法的主要应用场景:
1、被测试的功能,需要有初始化;
2、复用相关对象或模块
一、setup()方法介绍
二、tearDown()方法介绍
三、课堂任务练习:
已知某个班有30个学生,学习5门课程,已知所有学生的各科成绩。
请编写程序:
分别计算每个学生的平均成绩,并输出。
;
利用递归方法求5!
有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
要求:
利用循环计算该数列的和。
注意分子分母的变化规律。
在使用Junit测试套件,进行单元测试时,有时需要对被测试的对象(或额外对象)进行初始化,这需要使用测试套件的setup()方法;
同样,当销毁对象时,需要使用tearDown()方法。
第 4教案
软件编写规范、测试及测试用例
1、熟悉Java应用程序编写规范;
2、测试用例及其测试用例编写方法。
理解测试用例,并熟练编写测试用例
遵照软件编码规范编写应用程序代码
企业应用系统编写时,通常需要遵守企业内部定义的企业软件编写规范,一方面统一软件开发人员的编写习惯;
另一方面也是为了更好的协助与沟通。
因此,此事看似很小,却非常重要。
一、软件编码规范解读(引用企业的标准)
二、测试用例
三、测试用例编写规范
四、课堂任务:
计算算式1+21+22+23+…+2n的值。
n由键盘输入,且2≤n≤10
输入一批学生成绩,以-1作为结束标记。
统计这批学生中,不及格(score<
60)、及格(60<
=score<
70)、中等(70<
80)、良好(80<
90)、优秀(90<
=100)的人数。
创建5个学生对象,并赋给一个学生数组,每个学生有以下属性:
学号、姓名、年龄,请按顺序实现以下任务:
子任务1:
将学生按学号排序输出。
子任务2:
给所有学生年龄加1。
子任务3:
在实现子任务2的基础上,统计大于20岁的学生人数
1、企业软件编写规范,是一个软件企业内部协助和沟通的一个标准。
2、测试用例是软件进行测试所给出的特定测试数据,测试约束等。
第 5教案
语句覆盖测试技术应用
1、初步了解语句覆盖测试技术;
2、编写用例实施测试
熟练编写测试用例,实施测试
熟练编写测试用例,实施测试。
语句覆盖测试技术,是单元测试中的一种测试技术,是白盒测试形式的一种。
通过对程序模块的认真分析,设计合理的测试用例,确保每个程序逻辑都能够达到。
1、演示语句覆盖技术的使用;
2、测试任务
编写一个程序找出100~1000之间的所有姐妹素数
利用求n!
的方法计算2!
+4!
+5!
的值。
n!
表示n的阶乘,例如3!
=3×
2×
1=6,5!
=5×
4×
3×
1=120。
分别利用递归和非递归方法实现求n!
。
编写程序实现:
①定义一个抽象类Shape,它有一个计算面积的抽象方法calArea。
②定义一个三角形类Triangle。
它有两个属性n、m,分别表示三角形的底和高。
另外,它必须继承于Shape类,并实现calArea方法来计算三角形的面积。
③定义一个矩形类Rectangle。
它有两个属性n、m,分别表示矩形的长和宽。
另外,它必须继承于Shape类,并实现calArea方法来计算矩形的面积。
④定义一个圆类Circle。
它有一个属性n,表示圆形的半径。
另外,它必须继承于Shape类,并实现calArea方法来计算圆形的面积。
⑤分别创建一个三角形对象、一个矩形对象、一个圆形对象,然后将它们存入到一个数组中,最后将数组中各类图形的面积输出到屏幕上。
1、该技术是一种基本且简单的技术;
2、要对程序代码进行仔细分析,才能设计合理的测试用例;
3、为了达到全部测试,通常工作量不小。
教学
反思
第 6教案
判定覆盖测试技术应用
1、初步了解判定覆盖测试技术;
1、了解判定覆盖测试技术;
2、进一步熟悉测试用例编写;
(75)
1、测试任务
编写一个应用程序,计算并输出一维数组(9.8,12,45,67,23,1.98,2.55,45)中的最大值、最小值和平均值。
将字符串“FEDCBA”存放到数组中,调用for循环读出数组数据显示在屏幕上,同时将结果以文件流形式写入考生文件夹下,文件名为WriteArr.txt。
使用循环结构语句实现,直接输出不计分。
某国的个人所得税草案规定,个税的起征点为3000元,分成7级,税率情况见表1.3,从键盘上输入月工资,计算应交纳的个人所得税。
2、判定覆盖测试技术演示
3、学生自主编写程序,并进行测试练习
通过三个小的任务,学习并演示了判定覆盖测试技术的应用
第 7教案
条件覆盖测试技术应用
之前学习了两个基础的测试技术,本次课程再学习一种白盒测试技术:
条件覆盖测试技术
编写一个程序,对用户输入的任意一组字符如{3,1,4,7,2,1,1,2,2},输出其中出现次数最多的字符,并显示其出现次数。
如果有多个字符出现次数均为最大且相等,则输出最先出现的那个字符和它出现的次数。
例如,上面输入的字符集合中,“1”和“2”都出现了3次,均为最大出现次数,因为“1”先出现,则输出字符“1”和它出现的次数3次。
求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,然后将结果s输出。
例如若n为1000时,则s=153.909064。
使用循环语句结构实现。
②n由键盘输入,且100≤n≤10000。
输入整数a,输出结果s,其中s与a的关系是:
s=a+aa+aaa+aaaa+aa...a,最后为a个a。
例如a=2时,s=2+22=24。
①使用循环结构语句实现。
②a由键盘输入,且2≤a≤9。
2、条件覆盖测试技术演示;
条件覆盖测试技术,主要是根据程序逻辑(判定条件),进行全部条件的覆盖测试。
第 8教案
条件判定覆盖测试技术应用
本次课程,将通过示例,演示条件判定覆盖测试技术的应用。
请编写函数(或方法)fun,其功能是:
将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:
将a数的十位和个位数依次放在c数个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。
孙悟空在大闹蟠桃园的时候,第一天吃掉了所有桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第N天准备吃的时候只剩下一个桃子。
这下可把神仙们心疼坏了,请帮忙计算一下,第一天开始吃的时候桃园一共有多少个桃子。
②整数N由键盘输入,且2≤N≤10。
输入一个5位正整数,输出它是不是回文数。
回文数是这样一种数,它的逆序数和它本身相等。
例如,12321的逆序数是12321,和它本身相等,所以它是回文数。
又例如25128的逆序数是82152,所以它不是回文数。
2、判定判定覆盖测试技术演示
本次课程,通过实例演示并讲解了条件判定覆盖测试技术的使用,学生通过实际的编写代码,进行测试,体会了测试在软件编程中的作用与意义。
第 9教案
条件组合覆盖测试技术应用
通过前面课程的学习,逐一了解了白盒测试技术、Junit测试套件的使用,在接下来的课程学习中,将进一步学习不同的测试方法。
一个球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。
求它在第十次落地时,共经过多少米?
第十次反弹多高?
使用循环结构语句实现。
今年7月,传来了不幸的消息,政府要在7、8月对该区进行拉闸限电。
政府决定从7月1日起停电,然后隔一天到7月3日再停电,再隔两天到7月6日停电,依次下去,每次都比上一次长一天。
Lee想知道自己到家后到底要经历多少天倒霉的停电。
请编写程序帮他算一算。
从键盘输入正整数s,从低位开始取出s中的奇数位上的数,依次构成一个新数t,高位仍放在高位,低位仍放在低位,最后在屏幕上输出t。
例如,当s中的数为7654321时,t中的数为7531。
2、测试技术演示
通过示例学习与实际操作,一方面要进一步掌握测试的一般方法;
另一方面也要通过学习与实践,熟练地综合使用相关测试技术与工具,进行程序模块测试。
第 10教案
路径覆盖(逻辑覆盖)测试技术应用
本次课程,通过学习画程序流程图,熟悉并掌握路径覆盖测试技术的应用。
从键盘上输入一个年份值和一个月份值,输出该月的天数。
(说明:
一年有12个月,大月的天数是31,小月的天数是30。
2月的天数比较特殊,遇到闰年是29天,否则为28天。
例如,输入2011、3,则输出31天。
)
假设一张足够大的纸,纸张的厚度为0.5毫米。
请问对折多少次以后,可以达到珠穆朗玛峰的高度(最新数据:
8844.43米)。
请编写程序输出对折次数。
编写程序输出2~99之间的同构数。
同构数是指这个数为该数平方的尾数,例如5的平方为25,6的平方为36,25的平方为625,则5、6、25都为同构数。
调用带有一个输入参数的函数(或方法)实现,此函数(或方法)用于判断某个整数是否为同构数,输入参数为一个整型参数,返回值为布尔型。
程序流程图,一方面可以帮助程序员理解程序执行逻辑,有助于程序模块编写;
另一方面也能有助于程序模块的测试。
第 11教案
基本路径覆盖测试技术应用一
本次课程也是一种路径覆盖测试技术的使用,将利用三个基础任务,熟悉并掌握这种测试技术的应用。
某班同学上体育课,从1开始报数,共38人,老师要求按1、2、3重复报数,报数为1的同学往前走一步,而报数为2的同学往后退一步,试分别将往前走一步和往后退一步的同学的序号打印出来。
一个人很倒霉,不小心打碎了一位妇女的一篮子鸡蛋。
为了赔偿便询问篮子里有多少鸡蛋。
那妇女说,她也不清楚,只记得每次拿两个则剩一个,每次拿3个则剩2个,每次拿5个则剩4个,若每个鸡蛋1元,请你帮忙编程,计算最少应赔多少钱?
用循环语句实现,直接打印出结果不给分
寻找最大数经常在计算机应用程序中使用。
例如:
确定销售竞赛优胜者的程序要输入每个销售员的销售量,销量最大的员工为销售竞赛的优胜者,编写一个程序:
从键盘输入10个数,表示10位员工的销售量,打印出其中最大的数。
程序编码与测试,需要多次实践训练。
只有这样,就能够掌握其中的精髓。
3、自己组织相关的测试实例,进行编码和测试训练。
第 12教案
基本路径覆盖测试技术应用二
从键盘接收一个整数N,统计出1~N之间能被7整除的整数的个数,以及这些能被7整除的数的和。
从键盘输入一个整数N,打印出有N*2-1行的菱形。
例如输入整数4,则屏幕输出如下菱形。
如右图所示。
编程实现判断一个整数是否为素数。
所谓素数是一个大于1的正整数,除了1和它本身,该数不能被其它的正整数整除。
达到孰能生巧。
同时,利用测试,也能提高程序编写的质量。
第 13教案
黑盒测试技术应用一
讲解、