首页 > 其他分享 >测试学习总结

测试学习总结

时间:2023-07-14 16:56:38浏览次数:42  
标签:总结 负载 代码 结对 测试人员 学习 测试 自动化

1.敏捷测试

测试往往被期望承担项目质量控制的职责。这点很难做到,测试既不能控制代码如何编写,也不能控制开发人员测试他们编写的代码,但所有的质量把控都被期望能压缩在开发之后的测试阶段完成。

 

在敏捷项目中,测试人员不再被动等待工作降临,而是主动寻找在整个开发周期中都贡献价值的方式:与用户一起编写需求的测试用例,与开发人员一起寻找程序中的漏洞,聚焦使用覆盖更广、更灵活的测试方法。在敏捷中,开发人员从来不超前于测试人员,因为一个功能在被测试之前处于“未完成”状态。

 

敏捷测试关注点:

1.适应性

2.阶段性

3.强调写作

4.关注产品

5.全功能团队

 

传统测试关注点:

1.计划性

2.持续性

3.注重记录

4.关注bug

5.智能独立

 

不同时期的测试策略

1.在软件初期探索阶段。产品处于一个不确定状态,从前端的风格到整体的布局到后端的API都在时刻变化当中,而且变化比较频繁,由于自动化用例的生命周期比较短,所以在这一阶段创建一些自动化测试用例是不太划算的。而在这个时间段的产品,往往特性是可以控制的,只有几个测试,所以手动测试为主,不考虑自动化,让产品能够快速识别错误点,让用户能够用起来。

2.到了产品扩张阶段。用户认可产品,这是会出现两种情况。第一是用户量增长,第二时需求量增长。这时候必须考虑自动化。因为这个阶段每一次迭代的全量验证成本会越来越大,而交付的速度也越来越快。我们不可能每一次上线的时候都做全部的测试,这时候旧的模块需要自动化用例去保证。

3.提取阶段。产品已经到了需求的饱和期,产品的利益增长到了饱和期,这时候要严格控制产品需求,自动化用例的责任变成了守护,不允许变动引入额外的风险点、大的特性变动,导致对成熟的用户造成攻击。

 

并发性能测试
1.并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到出现系统的瓶颈或不能接受的性能点。通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。负载测试确定在不同负载下系统的工作性能,目标时探测当前负载逐渐增加时,系统组成部分的相应输出项,例如通过量、CPU负载、内存使用等来决定系统的性能。负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接受的性能点,来获取系统所提供的最大服务级别的测试。

2.测试的基本策略是自动负载测试,通过在几台高性能CPU上模拟成千上完的虚拟用户同时执行业务的场景,对应用程序进行测试,同时记录下每一个事物处理的时间、中间件服务器峰值数据、数据库状态等。通过可重复的、真实的测试以度量应用

 

如何对测试人员进行考评

1.“衡量测试人员的最佳方式就是每个测试人员发现的bug数”,大多数人以及大多数企业还是以产出,而不是结果来衡量。

2.应该针对团队进行衡量,而不是个人。测试人员的职责是质量保证,而不是发现错误。测试往往会成为测试的瓶颈。基于团队质量保证的前提,他们最应该做的是赋能开发人员,应该在项目的更早阶段发现问题,而不是项目后期由测试人员来统一发现问题。要统计分析测试的逃逸率,包括逃逸到测试侧以及客户侧的缺陷。

 

什么是有效的质量控制

1.如果有唯一一条对测试的建议,就是快速获取反馈,最好的是几分钟就能得到反馈

2.让听得到炮声的人做出决策、而不是远离一线的人员做决策。

3.内建质量,所有人都对质量负责,质量不是QA部门的专属

4.结对变成、结对测试、结对设计、结对上线,让结对无处不在

5.要关注非功能需求,并且提前考虑

6.测试与框架有关,包括技术架构以及组织架构

7.测试的过程,是从失败中学习的过程

8.尽可能的自动化一切该自动化的测试,但又不要过度追求自动化。

 

测试能防范所有的问题吗

1.当然不能,有两种安全策略,一种是试图发现尽可能多的问题,甚至是消除错误的部分,达到绝对的安全,这种情况太理想。所以推荐第二种方法,构筑弹性安全,发现了错误,能具备快速恢复的能力。

 

什么是测试金字塔

1.测试金字塔的核心是从关注测试的数量,转而向关注测试的质量,尤其是在持续集成下,测试执行时间要求是快速闭环的。金字塔越往下层,隔离性越高,定位问题就约精准,反馈也越快,应该投入更多的精力, 自动化程度应该越高;金字塔越往上层,反馈周期越长,运行效率月底,修复和维护的成本更高。复杂性也随之升高,应该做的频度越低,修复和维护的成本就越高,复杂性也随之升高应该做的频度越少,自动化程度不宜过高。

2.对于能够接触到生产环境的企业自上而下包括:性能和安全测试

 

合并请求的提交要清晰

1.一个好的合并请求不只是代码的事情,还牵扯到代码审查者对代码的审查,所以开发者不仅要写出好的代码,还需要考虑如何让其他人更清晰的理解自己的想法和思路,这是一个用代码做交流的过程

-进行较小的合并请求

-每个合并请求只做一件事情

-代码行的字数,最好少于80个字

-避免重新格式化代码

-确保提交的代码能够编译通过并能通过所有测试

-详细记录下自己提交的原因

-避免重复修改和混入其他的merge

标签:总结,负载,代码,结对,测试人员,学习,测试,自动化
From: https://www.cnblogs.com/qm1219/p/17554209.html

相关文章

  • 关于scrapy框架的学习
    最近打算参加一个爬虫比赛,特来研究爬虫,在掌握了爬虫的基本实现后,我们需要用一个更高效的方式来写爬虫这个时候便用到了爬虫框架scrapyscrapy是什么?Scrapy是一个应用程序框架,用于对网站进行爬行和提取结构化数据,这些结构化数据可用于各种有用的应用程序,如数据挖掘、信息处......
  • 20230714练习总结
    LOJ3686/JOISC2022DAY1京都观光考虑从\((x1,y1)\)只转一次弯到\((x2,y2)\)。先向南走当且仅当:\[\boxed{\frac{a_{x1}-a_{x2}}{x1-x2}<\frac{b_{y1}-b_{y2}}{y1-y2}}\]很容易想到斜率相关。但是如果只是对比两行,因为有列的条件参与,无法判断某一行是否一定不会被走过,于是......
  • 测试转为开发的心理
        自己刚步入公司的时候,就开始自己学习前端的知识,但是工作时间不允许学习,只能抽下班时间慢慢学习!就这样,龟速学习中!学了一年,才把JS啃完,啃完之后,真的是不经常使用很容易忘;然后对于一些知识点又忘了!当时继续学着VUE,越往后越不知道学什么了;因为感觉要学习的还有好多技术,也就......
  • 刷力扣高频SQL50题(基础)总结
    此随笔仅总结个人刷SQL题时,突然不会使用的某函数或某方法,大佬勿看勿喷regexp'正则表达式'一般用于邮箱校验例题:查找拥有有效邮箱的用户select*fromuserswheremailregexp'^[a-zA-Z]+[a-zA-Z0-9_\\./\\-]*@leetcode\\.com$'窗口函数窗口函数讲解函数+over(pa......
  • Web测试方法总结
           ......
  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-7-浏览器的相关操作
    1.简介上一篇已经将playwright的元素定位大法基本介绍的差不多了,但是在Web的UI自动化的测试中,我们通常需要使用一些方法来操作浏览器,今天就跟随学习了解一下。这一篇宏哥主要是介绍一下,在自动化测试的时候,我们常见的一些浏览器操作有哪些,宏哥将会一一介绍和讲解。2.层级在介绍......
  • 日常总结
    0.JavaSE(JavaStandardEdition)标准版以前称为J2SE,定位在个人计算机使用,用来开发C/S架构软件JavaEE(JavaPlatformEnterpriseEdition)企业版以前称为J2EE,定位在服务器端应用JavaWeb很多时候,javaweb与javaee是混用的,两者的概念并不能准确区分。对javaweb的理......
  • Oracle学习笔记:parallel并行处理 --转载 https://blog.csdn.net/w892824196/article/
    在使用oracel查询时,可以通过并行提高查询速度。例如:select/*+parallel(a,6)*/count(1)fromtable_namea;强行启用并行度来执行当前SQL。加上这个说明之后,可以强行启用Oracle的多线程处理功能,提高效率。但本身启动这个功能,也是要消耗资源与性能的。所有,一般都会在返回记......
  • 你离测试开发还有多远?
    不知道从什么时候开始大家抛弃自动化测试转而崇拜测试开发 于是各种文章加视频掏空了你的焦虑和钱包你离测试开发有多远?你可能差20000行代码的积累,但你写了200行的helloworld来告诉自己不行可能这1000多行的Python代码你也啃不下https://github.com/small99/AutoLink下图证明,真......
  • c++学习之extern C
    g++也可以编译c语言函数,1//filename:extern_c.cc23#include<iostream>45#ifdef__cplusplus6extern"C"{7#endif8//c语言语句开始9#include<stdio.h>1011intcmain(){12printf("hello");13return0;14}1......