软件工程与软件测试(中级软件评测师)--(二)

1、因果图适用于多种条件的组合,相应的产生多个动作的形式来考虑设计测试用例。

2、在进行面向对象设计时,采用设计模式能够服用相似的问题解决方案

3、web应用测试:

        1)web应用测试贯穿整个软件生命周期

        2)按照系统框架划分,web测试分为客户端测试、服务端测试和网络测试

        3)web系统测试和其他系统测试的测试内容相同,只是测试重点不同

        4)web性能测试可以采用工具辅助

4、负载压力测试是指在一定约束条件下测试系统所能承受的并发用户量、运行时间、数据量,以确定系统所能承受的最大负载压力。

负载压力测试有助于确认被测系统是否能够支持新跟那个需求以及预期的负载增长等。负载压力测试不只是关注不同负载场景下的响应时间及指标,它也通过测试来发现在不负载场景下会出现的例如:速度变慢、内存泄露等问题的原因,因此应该在开发过程中尽可能的早进行负载压力测试。

负载测试通过逐步增加的系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下系统所能承受的最大负载测试。

5、集成测试在单元测试的基础上,需要将所有的模块按照概要说明书和详细设计说明书进行组装,组装时需要考虑的问题:

        1)把把各个模块连接起来的时候,穿越模块的接口的数据是否会丢失。

        2)一个模块的功能是否会对另一个模块的功能产生不利影响

        3)各个子功能组合起来,是否能达到预期的父功能的要求。

        4)全局数据结构是否有问题

        5)单个模块的误差累积起来,是否会放大,一直达到不能接受的程度。

6、在软件系统中,无需在线容错的地方,或不能采用冗余设计技术的部分,如果对可靠性要求较高,故障有可能导致严重的后果,一般采用检错技术。在软件出现故障后能及时发现并报警,提醒维护人员进行处理,检错技术实现的代价一般是低于容错技术和冗余技术,但是有一个明显的特点,就是不能自动解决故障,出现故障后如果不进行人工干预,将最终导致软件系统不能正常运行。采用检错技术设计要着重考虑检测对象、检测延时、实现方式处理等要素。

7、需求规格说明、概要设计说明、详细设计说明、程序都是软件测试的对象,软件测试贯穿于软件定义和开发的整个周期。

8、测试用例应该包括:测试目标和被测功能、测试环境和其他条件、测试数据和测试步骤

9、测试的原则包括:

        1)所有的软件测试都应该住宿到用户需求

        2)尽早地不断地进行软件测试

        3)完全测试不可能,测试要终止

        4)测试午饭显示软件潜在的bug

        5)重复注意测试中的群集现象

        6)程序员应该避免检查自己的程序

        7)尽量避免测试的随意性

        8)测试是一项协同完成的创作型工作

10、逻辑覆盖是以程序内部逻辑为基础的测试技术,常用的逻辑覆盖从低到高分别是:语句覆盖(SC)、判定覆盖(DC)、条件覆盖(CC)、判定/条件覆盖(CDC)、条件组合覆盖(MCC)、修正条件/判定覆盖(MCDC)

        满足高级别的就一定满足低级别的

11、单元测试的内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试。

12、软件工程的目标是:提高软件生产率,提高软件质量、降低软件成本

13、

功能需求:也成为行为需求,规定了开发人员必须在系统中实现的软件功能;通常是通过系统特性的描述变现出来的特性;指一组逻辑上相关的功能需求,表现系统为用户提供某项功能或服务,使用户的业务目标得到满足。

非功能需求:指系统必须具备的属性和品质,可细分为软件质量属性(可维护性、可靠性、效率等)和其他非功能需求。

设计约束:限制条件或补充约束,通常对系统的一些约束说明:如必须采用国有自主知识产权的数据库系统。

14、

用例图:从用户的角度描述功能,并指出各个功能的操作者

类图:描述系统类的静态结构

状态图:描述类的对象所有可能发生的状态以及时间发生时状态的转移条件

序列图:显示对象时间的动态合作关系,强调对象之间消息发生的顺序,同时显示对象之间的交互

数据流图:表达系统内数据的流动并通过数据描述系统功能的一种方法,DFD从数据传递和加工的角度利用图像符号,通过逐层细化的描述系统内各部件的功能和数据在他们之间传递的情况来说明系统所要完成的功能,dfd设计注意事项:

        1)自外向内、自顶向下、逐层细化、完善求精

        2)保持父图与子图的平衡

        3)保持数据守恒

        4)加工细节隐藏

        5)简化加工间的关系

        6)均匀分解

        7)适当取名,避免空洞的名字

        8)表现的是数据流而不是控制流

        9)每个加工必须既有输入数据流也有输出数据流

15、软件设计

非直接耦合:两个模块间没有之间的联系,他们的联系完全是通过主模块的控制和调用来实现的

数据耦合:两个模块彼此间通过数据参数交换信息

标记耦合:一组模块通过参数表传递记录信息,这个记录时某一个数据结构的子结构 ,而不是简单变量

控制耦合:两个模块彼此间传递的信息有控制信息

外部耦合:一组模块访问访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递全局变量的信息

公共耦合:两个模块间通过一个公共的数据域传递信息

内容耦合:一个模块涉及到另一个模块的内部信息

16、软件维护的类型:

        1)改正性维护:使用过程中发现了隐藏的错误后,为了诊断和改正这些隐藏的错误而修改软件的活动

        2)适应维护:为了适应变化了的环境而修改软件的活动

        3)完善性维护:为了扩充和完善原有软件的功能或性能而修改软件的活动

        4)预防性维护:为了提高软件的可维护性和可靠性,为未来进一步改进大侠基础而修改软件的活动

17、自动化测试工具中最难自动化的就是测试用例的生成

18、静态测试是指不运行程序,通过人工和文档对代码进行分析和检查。代码审查包括桌面检查、代码审查和走查,主要检查代码的设计性和一致性,代码对标准的遵循、可读性、代码逻辑表达的正确性、代码结构的合理性等方面的测试,属于静态测试。

19、软件测试的对象为:程序、文档、数据

20、软件测试的过程包括:初测期、细测期、回归测试期

        初测期:测试主要功能和关键业务的执行路径,排除主要障碍

        细测期:依据测试计划和测试用例,逐一测试大大小小的功能,方方面面的性能、特性、用户界面、兼容性、可用性等,预期可发现大量不同型指,不同严重程度的错误和问题。

        回归测试期:系统已经达到稳定,在议论测试中发现的错误十分有限,复查一直错误的纠正情况,为引发任何新错误时,终结回归测试。

21、测试用例的设计技术

        黑盒测试用例设计技术包括:等价类划分法、因果图法、边界值分析法、错误推测法、判定表驱动法、功能图法、正交实验法、场景法

        白盒测试用例设计方法:进本路径法、符号法、静态质量度量法

22、条件组合覆盖的测试用例数怎么算??

        例题:对于逻辑表达式((a|| (b&c)) || (c&&d)) 需要2^4=16个测试用例才能够完成条件组合覆盖

        本题中的条件:a、b&c、c、d  (注:&是位运算)

23、前置测试模型

        前置测试模型是一个将测试和开发紧密结合的模型,该模型提供了轻松的方式,可以使项目加快速度

        前置测试模型体现了以下特点:

        1)开发和测试相结合:前置测试模型讲法开和测试的生命周期整合在一起,标识了生命周期从开始到结束之间的关键行为

        2)对每一个交付的内容进行测试,每一个交付的开发接杭都必须通过一定的方式进行

        3)在设计阶段测试计划和测试设计,设计阶段是作测试计划和测试设计的最好时机

        4)设计和开发结合在一起,前置测试执行和开发结合在一起,并在开发阶段以编码-测试-编码的方式来体现

        5)让验收测试和技术测试保持相互独立,验收测试应该独立于技术测试,这样可以提供双保险,以保证设计及程序能够符合最终用户需求

24、通用的风险分析表包括:风险问题、发生的可能性、影响的严重性、风险的预测值、风险的优先级

25、“完全测试时不可能的”原因是输入量太大、输出结果太多、以及路径组合太多

26、MVC的优点:低耦合性、高重用性、可维护性

27、

结构型设计模式装饰器、组合
构建型设计模式构建器
行为型设计模式解释器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值