主页 > 软件知识 >

软件开发和测试的基本知识

软件测试项目

1、软件测试用例包括(输入数据和预期输出结果)。

测试用例的八个要素:用例编号、测试项、测试标题、重要性级别、预设条件、测试输入、测试步骤和预期结果。

2、在白盒测试中,最强的覆盖标准是(路径覆盖)

语句覆盖

六项覆盖标准检测错误的能力从初级到强大;

3、测试工程师小刘在一个软件项目的疲劳强度测试中第一次注意到(内存泄漏)问题。

疲劳强度是指材料可以承受无限次交变载荷而不会损坏的最大应力,称为疲劳强度或疲劳极限。这就像寻找项目的极值。当达到极值时,首先会出现内存泄漏。

4、在软件开发中,我们经常使用测试用例来检测程序。测试成功是指测试用例运行后(发现程序错误)。

软件测试的目的是发现程序错误,所以一个成功的测试就是在程序运行后发现程序错误。

5、Confirmation 测试使用(软件系统)作为基本测试单元。

确认测试也称为有效性测试。有效性测试在模拟环境中使用黑盒测试来检查被测软件是否满足规范中列出的要求。

验证测试的目的是向未来用户展示系统可以按预期工作。经过集成测试,所有模块都按照设计组装成一个完整的软件系统,消除了接口错误。然后进一步验证软件的有效性。这是确认测试的任务,即软件的功能和性能。正如用户所期望的那样。

6、Load 测试是为了验证测试系统的最高能力(错误)

系统的最高能力是压力测试,负载测试是过载条件下的性能测试

7、在写测试用例之前,一定要做好计划(阅读产品尺寸书,阅读现有的bug列表,写一个思维导图)。

8、测试方法分为多少种? (亲自检查、抽查和会议审查、黑盒测试、白盒测试)

软件测试可以是人工测试:如个人检查、随机检查和会议审查

也可以是机器人工检查:有不同的类别:

根据软件内部结构的具体实现角度:黑盒测试、白盒测试、灰盒测试

按照软件开发流程,分阶段定义:单元测试、集成测试、确认测试、系统测试、验收测试

软件开发和测试的基本知识测试用例设计(需求完成)

在需求阶段测试的测试用例越多,我们就能越早发现需求。在软件开发过程中,越早纠正问题,成本越低。

11、从测试技术的角度来说,正确的选择是(静态测试、动态测试)

测试技术的角度应该关注测试过程,对软件运行结果(动态)和运行原理有很好的把握。呵呵,白盒关注更多的结果,黑盒是整个系统的功能结果,白盒是注入单元测试分布结构的功能测试。

静态测试:静态测试是指在不运行被测程序的情况下,通过分析或测试源程序的句型、结构、流程、界面等来测试程序的正确性。静态测试主要包括审查、代码检查、程序分析、软件质量测量等各个阶段,用于分析被测程序的特性。

动态测试:运行被测程序,检测运行结果与预期结果的差异,分析运行效率和鲁棒性等指标;该方法包括三个部分:构建测试用例、执行程序、分析程序结果的输出。

黑盒测试:(也叫功能测试)是基于尺寸规范(需求文档)的测试。测试人员不考虑/不关心软件的内部结构,只关心程序的功能是否符合他的功能描述。

白盒测试:(也称为结构测试或逻辑驱动测试)基于设计文档(结构)的测试。注重软件和程序内部结构的设计与实现。

11、自顶向下增量集成测试功能(需求驱动开发模板,可及时发现设计错误)

12、在程序段中,可以使用哪个测试方法来定位未使用时定义的变量(数据流测试)。

数据流测试用于分析程序中的数据流。它是收集有关变量在程序中如何流动的数据的过程。它试图在过程中的每个特定点获取特定信息。

数据流测试是一组测试策略,用于测试程序的控制流,以探索变量的顺序风暴顺序。它主要关注分配给变量的值和使用该值的点,通过关注两个点来测试数据流。数据流测试使用控制流图来检查可能会中断数据流的不合逻辑的事情。由于以下原因,在值和变量之间的关联中测量数据流中的异常:如果在未初始化的情况下使用变量。如果初始化的变量至少没有使用一次。

13、单元测试的主要技术有(驱动代码、存根代码、模拟代码)

Mock:创建虚拟对象来测试代码中不容易访问的单个对象

stub:stub 功能是替换未编码的单个调用。一般在增量迭代的自下而下的过程中是不需要编码的。自顶向下的过程需要编译

驱动函数:调用被测函数并传递参数给被测函数。

软件开发和测试的基本知识

22、 测试用例设计方法(等价类划分)(边界值分析)(因果图)(功能图分析)(误差推断)(决策表驱动分析)(正交实验设计)(场景设计)。

23、软件测试的目的是(寻找软件缺陷)

软件测试的目的:

1、test 是程序的执行过程,目的是发现错误;

2、 一个很好的测试用例是发现目前还没有发现的错误;

3、A成功的测试是发现了一个没有被注意到的错误的测试;

24、软件测试的目的是为了发现错误而执行程序的过程,不涉及(纠正错误)。程序调试的基本步骤是:(错误定位)、(修改设计和代码)、(消除错误)、(回归测试)、(防止引入新错误)。程序调试一般称为Debug,即调试。软件测试的基本原则是:所有的测试都要追溯到需求,严格执行测试计划,消除测试的随机性,充分注意测试中的集群现象,程序员应该避免测试自己的程序,详尽的测试是不可能的,并妥善保存测试计划和其他文件。

25、单元测试策略:(逻辑覆盖)(循环覆盖)(同行评审)(桌面测试)(代码走查)(代码评审)(精泰数据流分析)。

26、16 系统测试策略(功能测试)(性能测试)(压力测试)(容量测试)(安全测试)(GUI测试)(可用性测试)(安装测试)(配置测试)(异常测试)(备份测试)(鲁棒性测试)(文档测试)(在线帮助测试)(网络测试)(稳定性测试)。

27、stub 函数(在单元测试中被其他模块调用,在自我导向下的集成过程中特别有效)

28、(PureCoverage)(Purify)(Quantify) 是一个单元测试工具。

Rational Purify 是针对 VC、VB 或 Java 开发的测试,用于测试与显存错误相关的 Visual C/C++ 和 Java 代码,以确保整个应用程序的质量和可靠性。

Rational Quantify 是一款用于 VC、VB 或 Java 开发的测试性能困境测量工具。可以手动检查影响程序段执行率的程序性能困境,并提供参数分析表等直观的表格。

Rational PureCoverage 是用于 VC、VB 或 Java 开发的测试覆盖率测量工具。它可以手动检查您的测试和这些难以触及的部分的完整性。

29、系统测试内容:((安全测试)(性能测试)(压力测试)(功能测试)(回归测试)。

30、Unit 测试主要基于(详细设计文档);集成测试主要基于(通用设计文档);系统测试主要基于(系统设计文档)

31、软件测试工具

LoadRunner:负载压力测试:预测系统性能。

JMeter+Badboy:基于JAVA的压力测试工具,用于记录脚本的Badboy

功能测试:手动记录、检测和回放用户的应用操作。将输出记录与预设记录进行比较。

软件开发和测试的基本知识

测试组件有

1.VuGen Load Generator(虚拟用户生成器)用于捕获最终用户业务流程并创建手动性能测试脚本。 (也称为虚拟用户脚本)。

2.Controller(控制器)用于组织、驱动、管理和监控负载测试。

3.Analysis(分析)可帮助您查看、分析和比较性能结果。

36、单元测试可以检测到 80% 的软件错误

由于缺陷放大理论,在单元测试阶段发现的bug会在系统测试阶段被放大,放大系数完全符合80/20理论。

37、编写测试用例的目的包括(从测试用例回溯到功能需求,确保不遗漏任何需求),(总结前人的经验,为后人提供参考),(使用测试用例来验证产品需求模型的正确性),(通过测试用例来确认产品是否满足预期)。

38、alpha 测试需要用户参与,alpha 测试是一种初步测试

Alpha 测试是用户在开发环境中进行的测试,也可以是公司内部用户模拟实际运行环境进行的受控测试。 Alpha 测试不能由程序员或测试人员完成。 α检验中发现的错误可以检验

Alpha 测试性能测试

在测试现场第一时间反馈给开发者,他们会及时分析处理。目的是评估软件产品的功能、可用性、可靠性、性能和支持。特别注意产品的界面和功能。 Alpha 测试可以在软件产品编码结束后开始,也可以在模块(子系统)测试完成后,或者在测试过程中确认产品达到一定程度的稳定性和可靠性后开始。

39、自顶向下增量集成测试的缺点包括(底层验证延迟)(底层组件测试不足)

自上而下测试:从程序的初始模块开始测试。

(1)此方***前期发现顶楼错误。

(2)早期的程序框架可以演示

(3)需要开发stub模块进行辅助测试,有的甚至需要多个stub模块来辅助,增加了stub模块原有错误的影响。

(4)测试一个下级模块后,选择该模块作为下一个测试模块,测试顺序没有唯一划分标准。

优点:主控判断点验证较早;一个完整的软件功能可以先按深度先实现验证;功能被较早拒绝,带来信心;只需要一个驱动,降低了驱动开发成本;支持故障隔离。

缺点:列开发量大;低级验证延迟;低级组件测试不够。

注意;只需要从下到下驱动开发模块即可。

40、自动化测试并没有大大增加工作量。自动化测试确实可以减少工作量,但并没有大大减少。并非所有链接都适合自动化。