什么是自动化测试?
什么是自动化测试?
简要回答:自动化测试是使用机器来代替人工执行的一个过程。我们可以简单的理解成人工智能化,在没有人工智能之前,很多事情都是由手工来测试功能,有了自动化测试使用自动化测试工具与脚本来帮助我们完成测试部分测试工作。
为要做自动化测试?
提升软件测试的效率,保证项目的稳定性、实现快速迭代。提升测试人员幸福感、解放放手,有更多时间做探索性测试。
自动化测试一般在什么阶段介入?
一般在回归测试阶段介入。每一次迭代版本,新增了需求或者是修改了bug之后,保证之前的主流程模块不会出现问题,使用自动化可以快速了解版本质量。
接口自动化测试一般在集成测试阶段进行。
自动化测试可分为1.自动化性能测试;2.自动化功能测试。
性能测试主要是使用测试工具,Loadrunner、Jmeter等,对软件进行压力测试、负载测试、强度测试等等,因为这些无法用手工进行代替,所以必须自动化。自动化功能测试:包括单元测试、接口测试、UI测试。主要是编写代码、脚本,让软件自动运行,发现缺陷,代替部分的手工测试。但一般只有大的项目才需要进行自动化,中小型项目不推荐使用自动化测试。压力测试、负载测试和并发测试有什么区别?
性能测试:是动力,负载测试载重,压力测试强度;
压力测试:是在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响;
负载测试:在一定的工作负荷下,给系统造成的负荷及系统响应的时间。
如何理解与区分软件性能测试、负载测试、稳定性测试、压力测试?
软件性能测试是基于系统测试阶段的一种非功能性测试,为什么叫非功能性测试呢?大家都知道,功能并不会覆盖多线程操作,但是性能测试就会覆盖多线程操作,一个功能1000人操作不会有问题,但是一个功能上万人甚至上亿人同时访问,可能会导致系统崩溃,所以说软件性能测试是一种非功能性测试,但是基于功能测试之上,性能测试并不会覆盖需求所有测试点,只是对产生并发压力的功能进行测试。
1. 性能测试:在一定的负载条件下,测试系统的响应时间等各项性能指标是否符合需求。
How Fast:是用来反应一个系统的处理效率的。
How Much:是用来反应一个系统的处理能力的。
2. 负载测试:主要是为了获取系统的最大有效负载用户数、系统的最大处理能力和最佳的性能表现点。
负载用户,就是指虚拟用户,即我们在性能测试过程中模拟向服务器发起请求的虚拟用户数。
系统最大负载用户数:即系统实际的用户数。
用户数不一定就是使用用户的人,可能是:人、设备、调用者(人、上层接口、外部接口)。
3. 稳定性测试:也叫可靠性测试,通过给系统加载一定的业务压力,让系统持续运行一段时间(一般为7x24小时),检测系统是否能够稳定运行,连接是否会中断,比如网络中断易恢复性。
4. 压力测试:主要是为了测试系统的稳定性。理论上来说,一般来说稳定性测试都是要求7*24小时。一般来说,结合监控,不需要也没有条件去进行长时间的压力测试。
1,软件性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的需求功能,而是特指功能的响应及时性。
软件性能主要通过响应时间、吞吐量、并发用户数、系统资源占用、系统稳定性几个指标来衡量。
这里面,功能响应及时性,通俗的说,就是输入一个指令,系统多长时间给出一个想要的结果。也就是说,系统性能是用户的一种最终的综合的感受。
2,稳定性测试就测试系统的长期稳定运行能力。在系统运行过程中,对系统施压,观察系统的各种性能指标,以及服务器的指标。
系统稳定性对系统管理员的意义重大,稳定性的好坏也可以直接影响到最终用户所关心的“响应时间”,因此,稳定性测试也可以是性能测试中非常重要的一环。
稳定性测试(亦可称可靠性测试)通过给系统加载一定的业务压力,让系统持续运行一段时间(一般为7x24小时),检测系统是否能够稳定运行。
要注意的是,稳定性测试属于概率性的测试,也就是说,即使稳定性测试通过,也不能保证系统实际运行的时候不出问题。所以要尽可能多的提高测试的可靠性。可以通过多次测试,延长测试时间,增大测试压力来提高测试的可靠性。
3,负载测试,通常是让被测系统在其能忍受的压力极限范围内(或临界状态下)连续运行,来测试系统的稳定性。其目的是找到系统的处理极限,为系统调优提供依据。
通俗的说,这个负载能力的概念,就是系统不同部分各自能够承担的最大输出量。相当于一小时最多能够处理多少数据,给出多少结果。如果改变了数据输入量,又会如何。
负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征。例如,响应时间、事务处理速率和其他与时间相关的方面。
标签: 性能测试是什么