【单元测试】任务1:白盒测试1
1. 任务前置知识
2. 任务周期安排
3. 任务参考文档
4. 任务实现要求
4.1.白盒测试—逻辑覆盖—语句覆盖
4.2.白盒测试—逻辑覆盖—判定覆盖
4.3.白盒测试—逻辑覆盖—条件覆盖
需要技能竞赛软件测试资料的同学们可s聊我,详细了解
1. 任务前置知识
- Java程序设计:掌握Java基础使用;
- 语句覆盖:掌握使用语句覆盖进行测试点设置;
- 判定覆盖:掌握使用判定覆盖进行测试点设置;
- 条件覆盖:掌握使用条件覆盖进行测试点设置;
2. 任务周期安排
共4学时,任务内容如下:
- 白盒测试—逻辑覆盖—语句覆盖;
- 白盒测试—逻辑覆盖—判定覆盖;
- 白盒测试—逻辑覆盖—条件覆盖;
3. 任务参考文档
- 无。
4. 任务实现要求
4.1.白盒测试—逻辑覆盖—语句覆盖
任务1:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足语句覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public void Test(int x, int y)
{
int a = -1;
int b = -1;
if ((x>0)||(y>0))
{
a = 10;
}
if ((x<10)&&(y<10))
{
b = 0;
}
}
任务2:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足语句覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Test {
int x;
public void TestT(int a, int b) {
if(a>9 && b>5) {
x = a * a * b;
}else {
if(a<0 && b<0) {
x = a - b;
}else {
x = a + b;
}
}
}
}
任务3:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足语句覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Test1 {
public void TestS(int x, int y) {
int a = 0;
while(x>0) {
if(y == 0) {
x = y+2;
break;
}else {
if(y == 1){
a = y+10;
}else {
a = y+20;
}
}
x = x-1;
}
}
}
任务4:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足语句覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Test2 {
public void TestS(int x, int y, int z) {
double a = 0, b = 0;
if(x>2 && y<10) {
a = x * y -1;
b = Math.sqrt(a);
}
if(x == 4 || z>5)
{
b = x*y +10;
}
b = b / 10;
}
}
任务5:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足语句覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Leapyear {
public void Year(int year) {
if(year %4 ==0 && year%100!=0){
System.out.println("leap year.");
}else if(year%400==0) {
System.out.println("Century leap year.");
}
else {
System.out.println("It is not leap year.");
}
}
}
4.2.白盒测试—逻辑覆盖—判定覆盖
任务1:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足判定覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public void Test(int x, int y)
{
int a = -1;
int b = -1;
if ((x>0)||(y>0))
{
a = 10;
}
if ((x<10)&&(y<10))
{
b = 0;
}
}
任务2:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足判定覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Test {
int x;
public void TestT(int a, int b) {
if(a>9 && b>5) {
x = a * a * b;
}else {
if(a<0 && b<0) {
x = a - b;
}else {
x = a + b;
}
}
}
}
任务3:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足判定覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Test1 {
public void TestS(int x, int y) {
int a = 0;
while(x>0) {
if(y == 0) {
x = y+2;
break;
}else {
if(y == 1){
a = y+10;
}else {
a = y+20;
}
}
x=x-1;
}
}
}
任务4:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足判定覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Test2 {
public void TestS(int x, int y, int z) {
double a = 0, b = 0;
if(x>2 && y<10) {
a = x * y -1;
b = Math.sqrt(a);
}
if(x == 4 || z>5)
{
b = x*y +10;
}
b = b / 10;
}
}
任务5:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足判定覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Leapyear {
public void Year(int year) {
if(year %4 ==0 && year%100!=0){
System.out.println("leap year.");
}else if(year%400==0) {
System.out.println("Century leap year.");
}
else {
System.out.println("It is not leap year.");
}
}
}
4.3.白盒测试—逻辑覆盖—条件覆盖
任务1:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足条件覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public void Test(int x, int y)
{
int a = -1;
int b = -1;
if ((x>0)||(y>0))
{
a = 10;
}
if ((x<10)&&(y<10))
{
b = 0;
}
}
任务2:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足条件覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Test {
int x;
public void TestT(int a, int b) {
if(a>9 && b>5) {
x = a * a * b;
}else {
if(a<0 && b<0) {
x = a - b;
}else {
x = a + b;
}
}
}
}
任务3:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足条件覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Test1 {
public void TestS(int x, int y) {
int a = 0;
while(x>0) {
if(y == 0) {
x = y+2;
break;
}else {
if(y == 1){
a = y+10;
}else {
a = y+20;
}
}
x=x-1;
}
}
}
任务4:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足条件覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Login {
public static void login(String userA,String passA,String userB,String passB,String userC,String passC) {
if (userA == "" || passA == "") {
System.out.println("zcadmin用户名或密码不能为空");
}else if(userA=="zcadmin" && passA =="ZcAdmin" ) {
System.out.println("zcadmin登录成功");
}else {
System.out.println("zcadmin用户名或密码不正确");
}
if (userB == "" || passB == "") {
System.out.println("sysadmin用户名或密码不能为空");
}else if(userB=="sysadmin" && passB =="SysAdmin" ) {
System.out.println("sysadmin登录成功");
}else {
System.out.println("sysadmin用户名或密码不正确");
}
if (userC == "" || passC == "") {
System.out.println("zcleader用户名或密码不能为空");
}else if(userC=="zcleader" && passC =="ZcLeader" ) {
System.out.println("zcleader登录成功");
}else {
System.out.println("zcleader用户名或密码不正确");
}
}
}
任务5:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足条件覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Leapyear {
public void Year(int year) {
if(year %4 ==0 && year%100!=0){
System.out.println("leap year.");
}else if(year%400==0) {
System.out.println("Century leap year.");
}
else {
System.out.println("It is not leap year.");
}
}
}