软件测试课程复习

题型:

选择20java

填空20数组

判断20安全

简答20ide

设计20工具

第一类重点:

  • 软件测试不是一个穷举过程,而是一个抽样过程。因此尽量选取有表明性的用例进行测试。
  • 致使软件缺陷的最大缘由是软件规格说明书
  • 软件测试是软件质量体系中的重要组成部分。
  • 软件测试的成本越到开发后期,成本越高。需求分析阶段最低,发布阶段最高
  • 可以检测出错误的概率越大越好
  • 更新或修改以后,重复测试之前的用例是回归测试
  • Web网站的功能测试中,重要的一项是连接测试
  • 选择子集进行测试时,对应的测试方法是等价类划分法
    • 等价类划分法:用一组有限的数据去表明近似无限的数据。(黑盒测试
    • 测试某等价类的表明值就等于对这一类其它值的测试。
    • 等价类测试方法是把全部可能的输入数据,即程序的输入域划分红若干部分,而后从每一部分中选取少数有表明性的数据做为测试用例。使用等价类划分方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具备完整性和表明性。
  • 等价类划分可有两种不一样的状况:有效等价类和无效等价类。
    • 有效等价类
      • 有效等价类指输入彻底知足程序输入的规格说明、有意义的输入数据所构成的集合
    • 无效等价类(与有效等价类的定义恰巧相反)
      • 无效等价类与有效等价类相反,不知足程序输入要求或者无效的输入数据构成集合

第二类重点:

  • 按测试阶段分类:性能

    • 单元测试单元测试

      • 单元测试中的驱动程序调用被测程序的模块测试

      • 桩程序调用的程序网站

    • 集成测试spa

      • 集成测试的测试计划一般在概要设计的阶段完成。

        集成测试包含自底向上,自顶向下两种基础方式。前者须要写驱动,后者须要写桩。

    • 系统测试

    • 性能测试

      • 性能测试指为了发现系统性能问题或获取系统性能相关指标而进行的测试。根据不一样的测试目的分为

        一、 性能验证测试:验证系统是否达到事先已定义的系统性能指标、可否知足系统的性能需求

        二、 性能基准测试:在系统标准配置下得到有关的性能指标数据,做为未来性能改进的基准线

        三、 性能规划测试:多种特定环境下,得到不一样配置的系统的性能指标,从而决定在系统部署时采用什么样的软硬件配置

        四、容量测试:系统容量能够看做系统性能指标之一

      • 常见的有负载测试、压力测试、可靠性、稳定性等测试。

      • 负载方式如教材图6-6

    • 验收测试

  • 按是否看见源代码测试:

    • 白盒测试:

      • 逻辑覆盖

        语句覆盖:使程序中的每一个可执行语句至少被执行一次

        断定覆盖(分支):每一个判断的取真分支和取假分支至少经历一次

        条件覆盖:每一个判断中每一个条件的可能取值至少知足一次

        断定-条件覆盖:全部条件可能取值至少执行一次,同时,全部判断的可能结果至少执行一次

        条件组合覆盖等:使得程序中每一个判断的全部可能的条件取值组合都至少出现一次

      • 基本路径测试

        路径覆盖:设计全部的测试用例,来覆盖程序中的全部可能的执行路径。

    • 黑盒测试:

      • 等价类划分法

      • 边界值分析法:

        边界值分析法就是在某个输入输出变量范围的边界上,验证系统功能是否正常运行的测试方法(黑盒)

      • 决策表法

        决策表(断定表)法是借助表格方式完成对输入条件的组合设计,以达到彻底组合覆盖的测试效果。(黑盒)

        由条件桩和动做桩组成。通常步骤为:

        一、列出全部条件桩和动做桩;

        二、填入条件项;

        三、填入动做项,指定初始断定表;

        四、简化合并类似规则或者相同动做

  • ????按是否执行代码测试:

    • 静态测试:
    • 动态测试:
  • 按目的测试:

    • 性能测试

    • 压力测试

    • 功能测试

      • 功能测试主要是按照产品规格说明书来检验被测试的系统是否知足各方面功能的使用要求

    • 可靠性测试

    • 灾难恢复性测试

    • 安全性测试

      • 安全测试中,基于漏洞的测试是指从软件内部出发找到的安全缺陷。

        漏洞指软件内部的安全性问题,威胁是软件外部的安全性问题

    • 兼容性测试

      • 兼容性测试是指软件之间可否正确地交互和共享信息。多版本时,包含之前版本内容是向前兼容,包含将来版本是向后兼容

    • 回归测试

    • 安装测试

    • 验收测试

      • 验收测试是指性能测试完成,上市以前这个阶段进行的测试,其中须要客户参与

第三类重点

  • 软件国际化是软件工程,完成软件国际化以后才能完成软件本地化

    • I18N指软件国际化,L10N指软件本地化。

    • 软件本地化是对原始语言(例如,英文)开发的软件进行语言转换和工程处理,生成不一样语言版本的技术。

    • “国际化软件测试”的内容分为“软件国际化测试”和“本地化软件测试”,“软件国际化测试”是“国际化软件测试”的子集。

    • 国际化软件测试首先要通过软件国际化测试,等到本地化软件开发出来后,再进行本地化软件测试。
      软件国际化测试的对象是采用国际化方法进行设计的软件,例如英文的Word 2003。 测试的环境是各类不一样语言的操做系统,例如简体中文、繁体中文、德语、日语等的Windows 操做系统。

  • 自动化测试指由计算机系统或软件工具、程序来承担并自动执行。

  • 自动化测试不能彻底代替手工测试

  • 软件质量保证中包含了软件测试

  • β测试指软件开发公司组织各方面的典型用户在平常工做中实际使用β版本

  • 单元测试中常见的缺陷:

    • 空指针保护

    • 数据格式化异常

    • 字符串或数组越界错误

    • 资源不合理使用

    • 不当使用synchronized致使系统性能降低

      得到的外部数据在使用时,一般要考虑到是否为空,是否符合需求格式,是否符合长度要求等等。即在使用equals,包装类转换,数组和字符串长度、synchronized时,须要注意

第四类重点

  • 软件测试管理体系中,TPI next由关键域,级别,测试成熟度矩阵,检查点,改进建议构成。

    关键域指软件测试过程的各个方面,经过对不一样方面的评估,测试过程的优缺点都变得清晰,这些方面为关键域

    级别指每一个关键域所处的状态,即对关键域的评估结果

    测试成熟度矩阵指关键域各个等级整体测试过程成熟度等级的映射关系

    检查点指为了客观决定各个关键域的级别而提供的度量工具

    改进建议指检查点为咱们发现的问题

第五类重点

  • 待测试代码:

    public int add(int a,int b)
    {
      return a+b;
    }
  • 测试代码:

    public class TestAAA {
    		static int[]  cases;  //被beforeClass赋值,由静态使用静态。测试用例
    		int[] results;	//由before赋值。预期结果
        @BeforeClass
        public static void setCases() {
            cases = new int[]{1,3,-1,-3,1,-3,-1,3};
        }
        @Before
        public void before(){
            results = new int[]{4,-4,-2,-2};
        }
        @Test     //单元测试的主体
        public void testAdd(){
            Calc c = new Calc();
            for (int i = 0;i<cases.length; i+=2 ){   //两个一组进行加法
                   //断言判断运行结果和预期结果
                   Assert. assertEquals(c.add(cases[i],cases[i+1]),result[i/2]);   
            }
        }
    }

第六类重点

  • 基本路径组分析方法:一、先画出流程控制图;二、计算环复杂度;三、写出基本路径,和环复杂度数量相等。

  • 常见流程控制图

image

相关文章
相关标签/搜索