CrissChan
码龄15年
  • 1,755,229
    被访问
  • 372
    原创
  • 790
    排名
  • 888
    粉丝
关注
提问 私信

个人简介:前京东测试架构师、阿里云MVP、华为云MVP、中国商业联合会互联网应用工作委员会智库专家、中关村智联软件服务业质量创新联盟软件测试标准化技术委员会委员、极*客时间命题专家,极*客时间《接口测试入门课》作者、《研发效能实践指南》副主编、拉钩教育《软件测试第一课》作者,NCUT软件体系结构实验室特邀企业导师、《京东质量团队转型实践-从测试到测试开发的蜕变》图书作者、《测试敏捷化白皮书》特邀编委、《DB51T1998-2015移动智能终端应用软件(APP)产品通用技术要求及测试规范》编委、多次受邀参与TID、NCTS、MAD、MPD、TICA等技术峰会以及参与技术委员会。

  • 加入CSDN时间: 2007-01-06
博客简介:

Criss@陈磊

博客描述:
测者观天下都是BUGS
查看详细资料
  • 5
    领奖
    总分 1,468 当月 68
个人成就
  • 博客专家认证
  • 获得189次点赞
  • 内容获得148次评论
  • 获得829次收藏
  • GitHub 获得126Stars
创作历程
  • 10篇
    2022年
  • 106篇
    2021年
  • 32篇
    2020年
  • 35篇
    2019年
  • 26篇
    2018年
  • 61篇
    2017年
  • 214篇
    2016年
  • 108篇
    2015年
  • 9篇
    2014年
  • 103篇
    2013年
  • 1篇
    2012年
  • 9篇
    2011年
  • 1篇
    2010年
成就勋章
TA的专栏
  • 持续交付和持续测试
    付费
    78篇
  • 智能化测试实战指南
    付费
    11篇
  • 自动化测试
    198篇
  • 测试工程师的VSCode环境配置
    8篇
  • 写给测试工程师的编程教程Python版本
    9篇
  • 自动化之路
    130篇
  • 性能诊断123
    140篇
  • 软件测试畅想
    79篇
  • 测试墙边
    53篇
  • 安全不安全
    6篇
  • DevOps
    46篇
兴趣领域 设置
  • 大数据
    redis
  • 后端
    架构
  • 搜索
    elasticsearch
  • 服务器
    linux
我的课程

《接口测试-方-法-论》人民邮电出版社图书

《软件测试第一课》拉*勾教育专栏

《接口测试实战课》极*客时间专栏

《质量工匠的私人学习笔记》知识星球

《测试技术的修炼之道》慕课网专栏

《京东质量团队转型实践-从测试到测试开发的蜕变》人民邮电出版社图书

《测试工程师必备技术锦囊》人民邮电出版社图书

《智能化测试入门课》掘金小册

《持续交付和持续测试》CSDN专栏

《智能化测试实战指南》CSDN专栏

  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

软件质量模型概述

软件质量模型简介软件测试的目的就是为了“验证产品质量是否满足用户的需求”。但是搞清楚,用户的需求并不是一件容易的事,因此在软件测试行业发展的漫长历史中,需要一种方式能够积累广大测试工程师的经验。这里的经验就是如何验证用户的需求。这也促使软件质量模型的诞生。软件质量模型是一个衡量软件整体质量效果的度量标准,反映软件满足明确或隐含需要能力的特性总和。如果你的测试活动脱离了软件质量模型,那么很有可能会有一些很重要的内容被忽略。软件质量模型发展到现在也经历了很多演进,但是每一种演进都是是为了交付好系统而发展的。
原创
发布博客 2022.05.18 ·
31 阅读 ·
0 点赞 ·
0 评论

一起学习

发布动态 2022.04.17

Nokia Scrum Test:这是一个判断团队是不是敏捷的测试方法

Nokia Scrum Test是诺基亚内部的一个简单测试问题列表,用于判断一个团队是否真的在使用Scrum。Nokia Scrum Test分成两部分PART 1: ARE YOU DOING ITERATIVE DEVELOPMENT?你们是否在使用迭代测试问题1:迭代周期必须是限制长度的且少于4周?Yes our iterations are 4 weeks or lessNo问题2:在每个迭代的末尾,软件功能必须被测试并能工作?Yes our features are tes.
翻译
发布博客 2022.04.13 ·
31 阅读 ·
0 点赞 ·
0 评论

变异测试变异算子构思路

变异测试:是一种通过将错误注入代码并查看测试是否检测到错误来评估测试质量的方法。常用的变异算子的构造方法:if条件修改成相反的def checkout(cart): if cart.items: throw Error("cart empty") return checkout_internal(cart)变异测试,修改成如下:def checkout(cart): if not cart.items: throw Error("cart empty") re
原创
发布博客 2022.03.31 ·
238 阅读 ·
0 点赞 ·
0 评论

SonarQube的认知复杂度指标详解。

定义认知复杂性(cognitive complexity)本来不是IT的概念,是指态度的形成或改变,涉及到对客体的许多特性及与其关联事物的众多认知。态度是伴随认知、感情和行为三种成分的持久倾向。其中认知成分是由对某种特殊的态度客体的一切认知所组成的,它既包含有事实信息、知识,也包含有信念。类似,在IT的认知复杂度是指将一段代码被阅读和理解时的复杂程度,估算成一个具体数字。一个方法的认知复杂度基于以下三条简单规则:代码中用到一些语法糖,把多句话缩为一句,但是代码不会变得更复杂出现"break"中止了
原创
发布博客 2022.03.08 ·
164 阅读 ·
0 点赞 ·
0 评论

SonarQube的代码坏味道

定义CodeSmell就是翻译过来有叫坏味道也有叫代码异味的,这主要是一个和维护性相关的指标,重点的含义是保持这样的代码,会导致代码维护成本越来越高,时间长了会导致很多无法理解的代码留存在项目中,从而可能会引起一些缺陷。等级划分可维护性从A级别到E级别,分别表示了从非常好的可维护性到非常差的可维护性,这是由技术债务比率解决的,技术债务比率计算如下:** 技术债务比率=项目的技术债务的成本/从零开始重写代码所需的成本**A级别:技术债务比率<=0.05B级别:0.05<技术债务比率&
原创
发布博客 2022.02.28 ·
183 阅读 ·
0 点赞 ·
0 评论

SonarQube的缺陷详解

缺陷的定义SonarQube的对BUG的定义在代码中可以引起一些错误的问题部分。即使现在没有引起一些软件系统的问题,那么也是需要修复的。缺陷的分级从上面的定义我们可以看出来,SonarQube是针对一些代码中潜在的问题进行的扫描,并给出问题确认。SonarQube对缺陷的分级如下:阻塞级别:阻碍开发或测试工作的问题;造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题。如:代码错误、死循环、数据库发生死锁、重要的一级菜单功能不能使用等(该问题在测试中较
原创
发布博客 2022.02.28 ·
466 阅读 ·
0 点赞 ·
0 评论

CentOS8的源在2021年12月31日停止服务: Failed to download metadata for repo ‘appstream‘: 解决办法

问题最近新安装了一个CentOS8,在做YUM安装一些工具的时候出现了如下问题“ Failed to download metadata for repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist”,问题原因因为centOS8于2021年12月31日停止了源的服务,所以不行了。解决办法按照如下命令行操作执行即可:[root@56f295723fa1 yum.repos.d]# sed -i 's
原创
发布博客 2022.02.22 ·
609 阅读 ·
1 点赞 ·
0 评论

如何设立正确的质量度量

比尔·盖茨曾经说说过用代码行数来衡量软件的生产力,就像用飞机的重量来衡量飞机的生产进度一样。所以找到正确的度量质量的指标我们才能得到正确的质量结果。这就如同被很多人千行代码缺陷率遭到很多人的诟病一样,网上曾经有一个笑话就是说千行代码缺陷率的。某公司有两个开发团队,团队间针对缺陷密度的千行代码缺陷率这个指标做对比,千行代码缺陷率高的团队扣奖金奖励给千行代码缺陷率低的团队。在第一个月团队A的千行代码缺陷率高过了团队B,团队A的小伙伴很不情愿的被扣了绩效,但是团队B的成员却很开始。在第二个月开始的时候,团队A的
原创
发布博客 2022.02.18 ·
155 阅读 ·
0 点赞 ·
0 评论

单元测试发现是问题不是缺陷

近几天被单元测试发现的问题是不是缺陷给困扰了,我一直在想单元测试发现的问题为什么不记录到缺陷管理系统?记录的缺陷管理系统有什么用,会有什么影响?为什么要记录缺陷,到底什么是软件缺陷?缺陷《宋史·李沆传》:“身食厚禄,时有横赐,计囊装亦可以治第。但念内典以此世界为缺陷,安得安满如意,自求称足?”缺陷,汉语词汇,拼音是quē xiàn,本意指欠缺;缺失;不完美。 在晶体学、质检等不同领域又有着不同的含义。出自《宋史·李沆传》。这么看来,缺陷就是一个不好的点,在软件交付过程中的任何部分,只要是不完美,.
原创
发布博客 2022.01.17 ·
148 阅读 ·
0 点赞 ·
0 评论

详解持续测试

持续测试在我开始写这个文章之前,我一直以为持续测试就和持续集成、持续交付、持续部署一样,有明确的阶段性定义的一个概念,当我开始不断的查资料,我得到了无数个持续测试的定义。有的定义清晰,有的定义模糊,每个文章都有自己的定义,那么我讲这些文章的内容的重叠部分尝试用简单的方式描述出来,希望能整理清楚持续测试是什么。持续测试是什么说到持续测试,我发现大部分网站中用的是Tricentis公司的CMO的Wayne Ariola在公司的博客中的Continuous Testing: “Perfect” Soft
原创
发布博客 2022.01.13 ·
340 阅读 ·
0 点赞 ·
0 评论

静态扫描的新利器

静态代码检查静态测试是指不运行被测程序本身,通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。而动态测试是通过运行被测程序来检查运行结果与预期结果的差异,并分析运行效率和健壮性等指标。静态测试被测对象是各种与软件相关的有必要进行测试的产物,是对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。静态测试可以手工进行,充分发挥人的思维的优势,并且不需要特别的条件,容易展开,但是静态测试对测试人员的要求较高,至少测试人员需要具有编程经验。静态测试主要包括各阶段的评审、
原创
发布博客 2021.12.30 ·
501 阅读 ·
0 点赞 ·
0 评论

测试右移的实践方法

测试右移是指相对于测试左移而言的,测试右移是制品发布到生产环境之后,进行的一些测试活动,但是这里的测试活动并不是我们常说的测试活动,而是通过一些环境监控、业务监控、APM等一些手段对服务的可用性、稳定性等的一些考量,从而实现一旦发现生产环境的问题,尽快将问题暴露给制品团队进行快速修复,给用户良好的体验。1、在Ops的交叉右移,就是移动到生产环境,这也就决定了在该部分的测试活动和我们常说的测试活动就有着很多的区别。那么在生产环节的测试活动和我们实际的测试活动就会有很多区别了。在传统的测试角色分工中,生.
原创
发布博客 2021.12.28 ·
309 阅读 ·
0 点赞 ·
0 评论

Windows安装的Mysql忘记密码重置

1 打开CMD使用管理员身份打开CMD命令行,进入Mysql的安装目录。然后通过如下明亮关闭已经启动的mysql服务。如果停止不了,查找mysql的进程,然后kill掉。tasklist |findstr mysql如上查找对应的pid,然后通过如下的kill对应的进程taskkill /F /PID pid2 安装mysqld服务在命令后继续输入如下命令后,安装Service服务成功:mysqld --install3 重置密码输入如下代码:mysqld --initial
原创
发布博客 2021.12.20 ·
435 阅读 ·
0 点赞 ·
0 评论

Python调取Sonar API获取对应数据

找了很多Sonar的Python封装,发现都不好用,因此自己做了小封装。具体如下:#!/usr/bin/env python# -*- coding: utf-8 -*-'''@File : sonar_snapshot.py@Time : 2021/12/14 14:27:42@Author : CrissChan @Version : 1.0@Site : https://blog.csdn.net/crisschan@Desc : f
原创
发布博客 2021.12.15 ·
561 阅读 ·
0 点赞 ·
0 评论

VSCode 配置快速输入函数注释

1、进入vscode选择文件,首选项下的用户代码片段2、弹出框输入Python后回车3、弹出文件(python.json)输入如下内容,原有内容不要修改或者删除,加入funciton部分"HEADER":{"prefix": "header", "body": [ "#!/usr/bin/env python", "# -*- coding: utf-8 -*-", "'''", "@File : $TM_F
原创
发布博客 2021.12.15 ·
609 阅读 ·
0 点赞 ·
0 评论

没技术改造的“古董项目”ci交付就是面子工程

没技术改造的“古董项目”ci交付就是面子工程文中的古董项目是指技术相对较老,历史代码时间久远,项目几经转手,项目代码已经没人敢大刀阔斧的修改,只能修修补补。当有新逻辑要添加的时候,就从入口到底层单做一条链路,没人敢修改原来的业务链路。“古董项目”什么样在很多互联网企业或者说技术驱动的公司,技术变革推动起来那是顺风顺水,团队的驱动能力非常强。但是很多非技术驱动的公司,企业系统的技术栈并没有那么先进,没有微服务、没有服务网关、没有服务治理、没有APM、没有容器化、没有自动化测试。这样的系统都几乎拥有
原创
发布博客 2021.11.29 ·
190 阅读 ·
0 点赞 ·
0 评论

AI Driven Testing的成熟度分析

AI-DT的级别划分AI-DT(AI Driven Testing)也就是AI驱动测试,AI驱动测试是AI驱动完成测试工作和测试流程,帮助或者辅助测试工程师完成工作。在未来的测试工作中,测试工程师应该花费更多的时间来关注如何更加完善的测试来验证工程质量,而不是将全部的时间荒废在一遍一遍执行测试用例的无脑工作中。我们将AI-DT的成熟度氛围六级,具体如下。Level 0: 原始级处于原始级,测试工程师每天还在针对各个应用手写测试用例,一遍一遍的针对每次的release版本进行相同测试用例的执行。全部的精
原创
发布博客 2021.11.11 ·
544 阅读 ·
0 点赞 ·
0 评论

sonar.exclusions 配置如何生效

1、sonar.exclusions后配置一定要用**/*Criss*.java格式完成配置2、多个类需要用英文逗号分隔
原创
发布博客 2021.11.02 ·
815 阅读 ·
0 点赞 ·
0 评论

写完测试脚本怎么运行都是错误的原来是着了“VSCode设置自动保存”的道

问题升级了Locust,发现原来的脚本都不可以用,赶紧查询一下发现HttpLocust变成了HttpUser,tasek_set变成了tasks,这也是小CASE,修改后,怎么运行都报错,错误如下:[2021-10-21 09:06:36,789] bogon/ERROR/locust.user.task: No tasks defined on WebsiteUser. use the @task decorator or set the tasks property of the User (or
原创
发布博客 2021.10.21 ·
81 阅读 ·
0 点赞 ·
0 评论
加载更多