当前位置: 首页 > 后端技术 > PHP

软件测试笔记(一)理论

时间:2023-03-29 17:27:17 PHP

软件测试笔记(一)理论有句话说:能行不哔哔,尤其在如今堪比赛马的工作节奏下,每个人都推崇吃苦耐劳的精神,只要能解决问题,就去他的理论。但不可否认的是,良好的理论素养对于解决工作中遇到的问题,以及以后的职业发展都有很大的帮助。本文总结了软件测试行业中一些常见的测试理论,供大家参考。1、软件测试按测试分为:黑盒测试和白盒测试。黑盒测试黑盒测试也叫功能测试,就是通过测试来检测各个功能是否可以正常使用。测试时,将程序视为无法打开的黑盒,在不考虑程序内部结构和特性的情况下,对程序界面进行测试。它只是检查程序功能是否按照需求规范正常使用。程序能否正确接收输入数据并产生正确的输出信息。黑盒测试侧重于程序的外部结构,而不考虑内部逻辑结构,主要测试软件界面和软件功能。黑盒测试是站在用户的角度,从输入数据和输出数据的对应关系出发。显然,如果是外部特征本身的设计有问题或者规格有误,用黑盒测试的方法是无法发现的。新手基本都是采用黑盒测试的方式上手。白盒测试白盒测试也称为结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法。方框指的是被测软件。白框表示框是可见的。您知道盒子里有什么以及它是如何工作的。“白盒”方式充分理解程序内部逻辑结构,测试所有逻辑路径。“白盒”方法是详尽的路径测试。在使用该方案时,测试人员必须检查程序的内部结构,从检查程序逻辑入手,获取测试数据。通过该程序的独立路径的数量是天文数字。下面以空调为例,看看什么是黑盒测试,什么是白盒测试:一台新空调在组装时,质监部门需要对空调的各项功能进行测试,比如是否通断电正常,制冷制热。功能是否正常,计时功能是否正常等,并一一记录测试结果。如有问题及时反馈给设计部解决。这是黑盒测试的范畴。对于空调设计师来说,他们的测试可能更复杂。除了测试空调的各种功能,他们还需要分析空调的内部原理。他们甚至会跟踪空调的内部实现代码并进行分析。空调的数据状态是用来看它是否正常运行的,而不仅仅是从表面功能上看。这是白盒测试的范围。2、按测试阶段可分为:单元测试、集成测试、确认测试、系统测试和验收测试。单元测试(unittesting)是指对软件中最小的可测试单元进行检查和验证。对于单元测试中一个单元的含义,一般来说,其具体含义要根据实际情况来确定。例如,在C语言中,一个单元是指一个函数,在Java中,一个单元是指一个类,在图形软件中,它可以指代一个窗口或一个菜单。等待。一般来说,一个单元就是人为指定的最小的待测功能模块。单元测试是在软件开发过程中执行的最低级别的测试活动,其中独立的软件单元与程序的其余部分隔离进行测试。在传统的结构化编程语言(例如C)中,要测试的单元通常是函数或子例程。在像C++这样的面向对象语言中,测试的基本单元是类。对于Ada语言,开发人员可以选择是在单个过程和函数级别进行单元测试,还是在Ada包级别进行单元测试。单元测试的原则也扩展到第四代语言(4GL)开发,其中基本单元通常分为菜单或显示界面。其他经常与单元测试相关的开发活动包括代码审查(Codereview)、静态分析(Staticanalysis)和动态分析(Dynamicanalysis)。静态分析是研究软件的源代码,发现错误或收集一些测量数据,而不需要编译和执行代码。动态分析通过观察软件运行时的行为,提供有关执行跟踪、时序分析和测试覆盖率的信息。集成测试集成测试,也称为组装测试或联合测试。在单元测试的基础上,将所有模块按设计要求(如按结构图)组装成子系统或系统,进行集成测试。实践证明,有些模块虽然可以独立工作,但并不能保证连接起来也能正常工作。一些局部反映不出来的问题,可能会在全球范围内暴露出来。验证测试验证测试的目的是向未来的用户证明系统按预期工作。经过集成测试,所有模块已按设计组装成一个完整的软件系统,接口错误已基本消除。然后,应进一步验证软件的有效性。这就是确认测试的任务,即软件的功能和功能。性能符合用户的合理预期。系统测试系统测试,英文是SystemTesting。是将已确认的软件、计算机硬件、外围设备、网络等要素组合在一起,对信息系统进行各种组装测试和确认测试。系统测试是对整个产品系统的测试,目的是验证系统是否满足定义需求规范,找出不符合或抵触需求规范的地方,提出更完善的解决方案。系统测试发现问题后,需要进行调试,找出错误的原因和位置,然后进行修正。它是基于系统总体需求规范的黑盒测试,应该覆盖系统的所有连接组件。对象不仅包括要测试的软件,还包括软件所依赖的硬件和外设,甚至一些数据,一些配套软件及其接口。验收测试验收测试是部署软件之前的最后一个测试操作。软件产品完成单元测试、集成测试和系统测试后,在产品发布前进行软件测试活动。这是技术测试的最后阶段,也称为交付测试。验收测试的目的是确保软件准备就绪并且可以被最终用户用来执行软件的预期功能和任务。验收测试向未来的用户证明系统按预期工作。经过集成测试,所有模块已按设计组装成一个完整的软件系统,接口错误已基本消除。然后,应进一步验证软件的有效性。这就是验收测试的任务,也就是软件的功能和功能。性能符合用户的合理预期。验收测试,系统开发生命周期方法学的一个阶段,当系统被相关用户和独立测试人员根据测试计划和结果进行测试和验收时。它让系统用户决定是否接受该系统。是判断产品能否满足合同或用户规定要求的试验。这些是行政和防御控制。在工程及其他相关领域,验收测试是指确认系统是否满足设计规范或合同要求的测试,可能包括化学测试、物理测试或性能测试。系统工程中的验收测试可能包括交付前对系统(例如软件系统、许多机械部件或一批化学品)的黑盒测试。软件开发人员通常将系统开发人员完成的验收测试与客户在接受产品之前执行的验收测试分开。后者一般称为用户验收测试、终端客户测试、真机(验收)测试、现场(验收)测试。在主要测试程序之前,冒烟测试通常在此阶段用作验收测试。3、其他测试理论包括:自动化测试、回归测试、冒烟测试、性能测试。条件应包括正常条件和异常条件。通常,测试用例设计好并通过评审后,测试人员按照测试用例中描述的程序一步步执行测试,并将实际结果与预期结果进行比较。在这个过程中,为了节省人力、时间或硬件资源,提高测试效率,引入了自动化测试的概念。自动化测试分为Web自动化测试、界面自动化测试、APP自动化测试。回归测试回归测试是指修改旧代码后重新测试,以确认修改没有引入新的错误或导致其他代码出错。自动回归测试将大大降低系统测试、维护和升级等阶段的成本。回归测试作为软件生命周期中不可或缺的一部分,在整个软件测试过程中占据了很大比例的工作量,在软件开发的每个阶段都会进行多次回归测试。在增量和快速迭代开发中,新版本的不断发布使得回归测试更加频繁,而在极限编程方法中,每天需要进行多次回归测试。因此,选择正确的回归测试策略,对提高回归测试的效率和效果具有重要意义。烟雾测试一词来自硬件行业。在对一个硬件或硬件组件进行更改或修复后直接启动设备。如果没有冒烟,则该组件已通过测试。在软件中,术语“冒烟测试”描述了在将代码更改嵌入产品的源代码树之前验证代码更改的过程。检查代码后,冒烟测试是识别和修复软件缺陷的最具成本效益的方法。冒烟测试旨在确认代码中的更改按预期工作,而不会破坏整个版本的稳定性。性能测试性能测试是通过自动化测试工具,模拟各种正常、峰值和异常负载情况,测试系统的各项性能指标。负载测试和压力测试都是性能测试,可以结合使用。通过负载测试,确定系统在各种工作负载下的性能。目的是测试负载逐渐增加时系统各项性能指标的变化。压力测试是通过确定系统的瓶颈或不可接受的性能点来获得系统所能提供的最大服务水平的测试。