首页 > 技术文章 > 软件评测师_基础小知识(1)

android-it 2018-08-28 09:37 原文

1.控制流图的环路复杂度计算:

(1)流图中的区域数等于环形复杂度

(2)流图G的环形复杂度V(G) = E-N+2(E是流图中边的条数,N是结点数)

(3)流图G的环形复杂度V(G)= P+1(P是流图中判断结点的数目)

主要以第2种为主,备注:

因为环路度量法,它是考虑控制的复杂程度,即条件选择的分支繁杂程度,而部分节点并没有涉及到程序控制分支,节点的自环弧线要忽略掉,如图二,其边数为:9而不是10

 

2.软件著作权==自作品完成后自动产生,无需履行任何形式的登记或注册手续。

3.函数调用时基本的参数传递方式有传值和传地址两种,其特点如下:

传值方式讲解:(1)在传值方式是把实参的值传递给形参

       (2)实参可以是表达式或常量,也可以是变量或者数组元素

       (3)这种传递是单方向的,形参不能再将值传回给实参

传地址方式讲解:(1)需要把实参的值传递给形参

        (2)实参必须是变量数组名或数组元素,不能是表达式或常量

        (3)被调用函数中对形式参数的修改实际是对实际参数的修改,可以实现数据的双项传递

4.回归测试的理解==应该执行初测所用的全部测试用例。即使通过很多次的回归,也很难发现所有的缺陷,验收测试可能需要多次回归测试。

5.静态测试包括:代码检查法、静态结构分析法、静态质诚量法 

6.在国际标准ISO/IEC9126的功能性^量中,包括适合性、准确性、互操作性、保密安全性、功能依从性

7.软件测试不仅仅是执行软件,它贯穿整个软件开发周期。软件测试的对象不仅仅是软件代码,还包括软件需求文档、各种设计文档和用户手册等。

8.分析系统可能存在的瓶颈:A:数据库设计不合理 B:服务器CPU性能不好 C:系统没有采用并行策略 D:服务器网络宽带不足

9.判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次。

若题中程序有4个判定,所以满足判定覆盖一共需要8个逻辑条件

10.可靠性测试的基本步骤和流程

 10.算法和程序的三种基本控制结构为顺序结构、分支结构和循环结构。

11.内聚和耦合的类型:

(1)

模块独立性是创建良好设计的一个重要原则,一般采用模块间的耦合和模块的内聚两个准则来进行度量。内聚是模块功能强度的度量,一个模块内部各个元素之间的联系越紧密,
则它的内聚性就越高,模块独立性就越强。一般来说模块内聚性由低到高有巧合内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、信息内聚和功能内聚七种类型。
若一个模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的判定参数来确定该模块应执行哪一种功能,则该模块的内聚类型为逻辑内聚。
顺序内聚是指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。若一个模块中各个部分
都是完成某一个具体功能必不可少的组成部分,.则该模块为功能内聚模块。通信内聚是指模块内所有处理元素都在同一个数据结构上操作,或者指
各处理使用相同的输入结构或产生相同的输出数据。题中模块在同一张报表上操作,因此模块的内聚类型属于通信内聚。

(2)

模块独立性是创建良好设计的一个重要原则,一般采用模块间的耦合和模块的内聚两个准则来进行度量。耦合是模块之间的相对独立性的度量,模块之间的连接越紧密,
联系越多,耦合性就越高,而其模块独立性越弱。存在多种耦合关系:
数据耦合:若一个模块访问另一个模块时,彼此之间是通过数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合大数据耦合。
标记耦合:若一组模块通过参数表传递记录信息,则这种耦合称为标记耦合。
公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。
内容耦合:若一个模块直接访问另一个模块内部数据;一个模块不通过正常入口转到另一模块内部;两个模块有一部分程序代码重叠;一个模块有多个入口。
存在上述情况之一,则这种耦合称为内容耦合。

12.软件测试分类:

按照开发阶段软件测试可以分为单元测试、集成测试、系统测试、确认测试和验收测试。单元测试是针对软件程序模块进行正确性检验的测试工作;
集成测试是检验程序单元或部件的接口关系,即针对软件体系结构的构造进行的测试;系统测试是为验证和确认系统是否达到其原始目标,
而对集成的硬件和软件系统进行的测试;确认测试是检验与证实软件是否满足软件需求说明书中规定的要求;验收测试是按照项目任务书或合同、
约定的验收依据文档等进行的整个系统的测试与评审,决定是否接收或拒收系统。

13.单元测试的具体检查内容

单元测试又称为模块测试,是针对软件设计的最小单元—程序模块,进行正确性检验的测试。其目的在于发现各模块内不可能存在的各种问题和错误。
单元测试需要从程序的内部结构出发设计测试用例。模块可以单独进行单元测试。单元测试测试以下几个方面:模块接口、局部数据结构、执行路径、错误处理和边界。

14.负载压力测试

负载压力测试是在一定约束条件下测试系统所能承受的并发用户量、运行时间、数据量,以确定系统所能承受的最大负载压力。
负载压力测试有助于确认被测系统是否能够支持性能需求,以及预期的负载增长等。负载压力测试不只是关注不同负载场景下的响应时间等指标,
它也要通过测试来发现在不同负载场景下会出现的,例如速度变慢、内存泄漏等问题的原因。负载压力测试是性能测试的重要组成部分。
根据上述描述,负载压力测试可以发现不同负载场景下的速度变慢、内存:世露等问题。

15.数据流图

在结构化分析方法中,存在几种重要的模型:数据流图描述数据在系统中如何被传送或变换,反映系统必须完成的逻辑功能,用于功能建模;实体-联系图用于数据建模;
状态-迁移图用于行为建模。数据流图包含外部实体(数据源)、加工、数据存储和数据流。每个加工必须既有输入流又有输出流;一个加工可以有多个数据流流向另一个加工,
一个加工可以有两个相同的输出数据流流向两个不同的加工。在将父图分解为子图时,必须要保持数据流的平衡。

推荐阅读