软件测试习题七

(A)控制流图

(B)

在if(isDivisible(primes[i],curPrime))里去掉isPrime=false,即可使t2比t1更容易发现。

(C)

t=(n=1)

(D)

节点覆盖:

{1,2,3,4,5,6,7,8,9,10,11,12}

边覆盖:

{(1,2),(2,10),(2,3),(3,4),(4,5),(5,6),(6,4),(4,8),(5,7)

,(7,8),(8,2),(8,9),(9,2),(10,11),(10,12),(11,10)}

主路径:

{(2,3,4,5,7,8,9,2),(2,3,4,5,7,8,2),(4,5,6,4),(1,2,10,12),(10,11,12)}

二、实现一个主路径覆盖

测试方法

    public static String whatIsTriangle(double a,double b, double c){

        if(a <= 0 || b <= 0 || c <= 0)
            return "wrong";    

        if(a + b > c && a + c > b && b + c > a){        

            if(a == b && a ==c)
                return "equilateral";
            else if(a==b || a==c || b==c)
                return "isosceles";
            else
                return "scalene";
        }
        else{
            return "wrong";
        }
    }

控制流图

主路径:

{(1,2),(1,3,4),(1,3,5,6),(1,3,5,7),(1,3,5,8)}

测试用例:

@RunWith(Parameterized.class)
public class TestTriangle1 {
    private double input1;
    private double input2;
    private double input3;
    private String expected;

    public TestTriangle1(double input1,double input2,double input3,String expected){
        this.input1 = input1;
        this.input2 = input2;
        this.input3 = input3;
        this.expected = expected;
    }

@Parameters
public static Collection<Object[]> getData(){
    return Arrays.asList(new Object[][]{
        {3,3,3,"equilateral"},
        {3,4,3,"isosceles"},
        {3,4,5,"scalene"},
        {0,0,0,"wrong"},
        {1,3,4,"wrong"}
    });
} 

@Test
public void test(){
    assertEquals(this.expected,Triangle.whatIsTriangle(input1,input2,input3));
}

}

覆盖结果:

时间: 2024-10-25 05:54:37

软件测试习题七的相关文章

(转)软件测试习题附答案

单项选择题:共20小题,每小题1 分,满分20分:请将答案填入题后括号中. 1. 在软件生命周期的哪一个阶段,软件缺陷修复费用最低                               (   A   ) (A)需求分析(编制产品说明书)              (B)设计 (C) 编码                                  (D)产品发布 2. 单元测试中用来模拟被测模块调用者的模块是                                     

软件测试第七周——互联网测试

学写了软件测试之后,忽然想到了现在比较火的互联网行业.便去了解了一下互联网测试和学习到软件测试的区别. 先说一下互联网测试的变化: 1. 最大的不同就是互联网的产品很多都是自己来部署和运营,用户只要用一个瘦客户端就能使用. 这里的瘦客户端是一个浏览器,一个App,或者一个需要安装的client,但是核心的数据和业务逻辑主要在互联网公司的机房里面,在IDC,在云端.这里和以前的C/S, B/S架构的企业系统的主要区别在于为多大范围的人来服务以及谁来运营和运维这样的系统.所以自然的,就多了很多的这方

练习七:列表复制(将一个列表的数据复制到另一个列表中)

习题七:将一个列表的数据复制到另一个列表中. 1 list1 = [1,2,3,4,5,8] 2 3 list2 = list1[:] #直接赋值,使用: 浅复制 4 5 list3 = list1 #直接赋值,相当于浅复制 6 7 import copy #使用copy模块,深复制 8 list4 = copy.copy(list1) 9 10 list5 = list1.copy() #使用copy函数 潜复制 11 12 print(list1,list2,list3,list4,list

288.软件开发过程与软件测试

1.软件开发过程概述 1.1 软件开发的阶段.活动及角色 1.软件工程的阶段软件工程的三个阶段: 定义.开发.检验交付与维护 (1)定义阶段:可行性研究初步项目计划.需求分析.如图2-1所示. 图2-1软件工程的定义阶段 (2)开发阶段:概要设计.详细设计.实现.测试.如图2-2所示. 图2-2 软件工程的开发阶段 (3)检验交付与维护阶段:运行.维护.废弃.如图2-3所示. 图2-3 软件工程的检验交付与维护阶段 2.软件开发过程的活动通常包括四种基本过程活动:(1)软件规格说明:规定软件的功

《程序设计方法》【PDF】下载

内容简介 <程序设计方法>主要以方法为主导,结合C语言,把程序设计方法学研究中若干成熟的理论和方法用通俗易懂的语言描述出来.<程序设计方法>还选取趣味性强.技巧性高.能够启发学生创造性思维的例题,以适应指导中学生参加各类程序设计比赛的需要. <程序设计方法>主要面向进修高等师范本科(专科起点)的中学教师,也可作为普通高等师范院校计算机专业和非计算机专业学生的教材或教学参考书. 目录 第1章程序设计方法概论 1.1 程序设计语言和程序设计方法 1.1.1 程序.语言和程序

测试十大原则

一.测试是一个持续过程,而不是一个阶段. 二.测试必须被计划.被控制,而且被提供时间和资源. 三.测试应当有重点. 四.测试只能证明软件存在错误而不能证明软件没有错误. 五.测试是不可能穷尽的,当测试出口条件满足时就可以停止测试. 六.应当尽早地进行软件测试. 七.测试人员应当站在公正的立场上进行测试,如实的记录和报告缺陷. 八.所有的测试都应追溯到用户需求. 九.80%的软件缺陷常常存在软件20%的空间里面. 十.并非所有的软件缺陷都要修复. 原文地址:https://www.cnblogs.

《七周七语言:理解多种编程范型》のruby课后习题答案

本系列是<七周七语言>的课后习题答案.这本书不拘泥于语法细节,而是横向比较各种编程语言(非热门)之间的编程范式. 是本对编程觉悟能有所帮助的好书,这里就不多做介绍了,感兴趣的同学不妨去看一下. 不得不说,Ruby的风格很黑客. 1. 打印字符串"Hello, world." puts "Hello, world." 2. 在字符串“Hello, Ruby.”中,找出"Ruby."所在下标. puts "Hello, Ruby

软件测试基本方法(七)之验收测试

验收测试是在功能测试和系统测试之后进行的,所以验收测试的前提条件是系统或软件产品已通过了内部测试.然后和用户一起验收软件,在真实环境下运行软件,看是否存在与用户需求不一致的问题或违背产品规格书的要求.由于测试人员不可能完全用户实际使用情况,所以软件是否真正满足最终用户的要求,应由用户进行一系列的验收测试. (1)验收测试定义: 检查软件是否符合合同要求,包括需求规格说明.设计规格说明和用户手册等. (2)测试内容: 易用性测试(用户界面和可用性测试) 兼容性测试(软件兼容性测试.数据共享兼容性测

《七周七语言:理解多种编程范型》のIo课后习题答案

哎,因为上周忙着写OAuth2.0服务端框架草稿 ,耽误了一周学习Io Language了. 本篇习题解答是接着 <七周七语言:理解多种编程范型>のRuby课后习题答案 Io是原型语言,类似于JavaScript,并不区别类和对象,所有的东东都是对象,对象的数据结构就是由键值表来维护的(在Io中就是所谓的槽),通过各种消息传递给对象来实现打印输出,复制对象等功能.因为语法非常简单(也木有语法糖),所以你可以尽情构建自己的库和功能. 第一天: 1. 对1+1求值,然后对1+"one&q