什么是好的测试用例

记录从软件测试转行嵌入式的心路历程

2023.07.15 Another ordinary weekend As usual, or rather like the past twenty years of life After a week of confusion, I have decided to study hard thi ......
软件测试 心路 嵌入式 历程 软件

Angular Component Class 里的成员什么时候应该用 readonly 修饰

在 Angular 中,Component 类是用来定义组件的基本结构和行为的。在 Component 类中,成员的修饰符起着控制访问权限和可变性的作用。readonly 关键字是一种修饰符,用于声明只读成员,即一旦初始化后就不能再修改其值。 使用 readonly 关键字对成员进行修饰可以带来以下 ......
Component readonly 成员 Angular 时候

什么是 Rxjs Observable subscribe 方法的副作用

RxJS Observable 是一个强大的用于处理异步或多值的工具。它可以被看作一个事件流,开发人员可以监听这个事件流,并在事件发生时执行一些操作。这就是为什么说 Observable 的 subscribe 方法有副作用(side effects):因为当开发人员订阅(subscribe)一个 ......
副作用 Observable subscribe 方法 Rxjs

什么是持续集成和持续交付领域的 pipeline 概念

在软件开发中,Pipeline 是一种自动化的过程,它包括从开发人员提交代码,到代码构建,测试,部署等一系列的步骤。在持续集成(Continuous Integration)/持续部署(Continuous Deployment)领域,Pipeline 是非常重要的,因为它可以帮助开发团队更快,更有 ......
pipeline 概念 领域

什么是 SAP Spartacus 的 CMS Page Connector

SAP Spartacus 是一个开源的 JavaScript web 应用程序,它与 SAP Commerce Cloud 的后端进行交互。这是一个基于 Angular 和 RxJS 的库,具有良好的扩展性,允许开发人员以模块化的方式创建和管理 SAP Commerce Cloud 的用户界面。而 ......
Connector Spartacus Page SAP CMS

简单说明DNS、DHCP的主要作用是什么?

1、DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析); 每个IP地址都可以有一个主机名, ......
作用 DHCP DNS

什么是量子计算机

量子计算机是一种利用量子力学特性进行信息处理的计算机。在传统的计算机中,信息以二进制的形式存在,即每个位(bit)的值都是0或1。而在量子计算机中,信息以量子比特(qubit)的形式存在,每个量子比特可以同时处于多个状态。 我们需要了解一些量子力学的基本概念。量子是物质的最小单位,具有波粒二象性。量 ......
量子 计算机

go单元测试显示测试用例代码覆盖率

执行单个目录所有测试用例并生成覆盖率 go test -gcflags=all=-l -coverprofile=$GOPATH/bin/c.out . go tool cover -html=$GOPATH/bin/c.out -o=$GOPATH/bin/tag.html 执行单个测试用例并生成 ......
覆盖率 单元 代码

为什么重新登录需要这么麻烦的登陆验证

今天写好了随笔,过会儿又想修改,但是浏览器已经关闭了。 要重新进入博客园修改文章,发现登陆验证好麻烦啊,尤其是这个图片验证。 之前是在Google搜索时被要求这种验证、验证通过之后才可以使用搜索,最长有验证7、8个图片才通过的,好累。甚至一度让我觉得是不是让我打工、帮忙标记图片来着。 反正是有了心理 ......
麻烦

测试

## 什么是NFS 共享存储,文件服务器 ### NFS基本概述 ```bash NFS是一种网络文件系统,主要功能是通过局域网让不同的主机系统之间可以共享文件或目录 NFS系统与windows网络共享,NFS用于企业集群架构 大型网站会用到复制的分布式文件系统FastDFS(音频 小说 视频) g ......

10.JavaScript原型,原型链有什么特点

#### 10. JavaScript 原型,原型链? 有什么特点? ``` 在 js 中我们是使用构造函数来新建一个对象的,每一个构造函数的内部都有一个 prototype 属性值,这个属性值是一个对 象,这个对象包含了可以由该构造函数的所有实例共享的属性和方法。当我们使用构造函数新建一个对象后, ......
原型 JavaScript 特点 10

145.观察者模式和发布订阅模式有什么不同

#### 145. 观察者模式和发布订阅模式有什么不同? ``` 发布订阅模式其实属于广义上的观察者模式 在观察者模式中,观察者需要直接订阅目标事件。在目标发出内容改变的事件后,直接接收事件并作出响应。 而在发布订阅模式中,发布者和订阅者之间多了一个调度中心。调度中心一方面从发布者接收事件,另一方面 ......
模式 观察者 145

99.为什么0.10.20.3如何解决这个问题

#### 99. 为什么 0.1 + 0.2 != 0.3?如何解决这个问题? ``` 当计算机计算 0.1+0.2 的时候,实际上计算的是这两个数字在计算机里所存储的二进制,0.1 和 0.2 在转换为二进制表示的时候会出现位数无限循环的情况。js 中是以 64 位双精度格式来存储数字的,只有 5 ......
问题 99 10 20

67.requireJS的核心原理是什么(如何动态加载的如何避免多次加载的如何缓存的)

#### 67. requireJS 的核心原理是什么?(如何动态加载的?如何避免多次加载的?如何 缓存的?) ``` require.js 的核心原理是通过动态创建 script 脚本来异步引入模块,然后对每个脚本的 load 事件进行监听,如果每个脚本都加载完成了,再调用回调函数。 ``` 详细 ......
缓存 requireJS 原理 核心 动态

108.什么是MVVM比之MVC有什么区别什么又是MVP

#### 108. 什么是 MVVM?比之 MVC 有什么区别?什么又是 MVP ? ``` MVC、MVP 和 MVVM 是三种常见的软件架构设计模式,主要通过分离关注点的方式来组织代码结构,优化我们的开发效率。 比如说我们实验室在以前项目开发的时候,使用单页应用时,往往一个路由页面对应了一个脚本 ......
又是 MVVM 108 MVC MVP

133.什么是Proxy

#### 133. 什么是 Proxy ? ``` Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”,即对编程语言进行编程。 Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问 ......
Proxy 133

114.什么是requestAnimationFrame

#### 114. 什么是 requestAnimationFrame ? 详细资料可以参考: [《你需要知道的 requestAnimationFrame》](https://juejin.im/post/5a82f0626fb9a06358657c9c) [《CSS3 动画那么强,request ......
requestAnimationFrame 114

89.什么是Polyfill

#### 89. 什么是 Polyfill ? ``` Polyfill 指的是用于实现浏览器并不支持的原生 API 的代码。 比如说 querySelectorAll 是很多现代浏览器都支持的原生 Web API,但是有些古老的浏览器并不支持,那么假设有人写了一段代码来实现这个功能使这些浏览器也支 ......
Polyfill 89

105.什么是SamesiteCookie属性

#### 105. 什么是 Samesite Cookie 属性? ``` Samesite Cookie 表示同站 cookie,避免 cookie 被第三方所利用。 将 Samesite 设为 strict ,这种称为严格模式,表示这个 cookie 在任何情况下都不可能作为第三方 cookie ......
SamesiteCookie 属性 105

39.eval是做什么的

#### 39. eval 是做什么的? ``` 它的功能是把对应的字符串解析成 JS 代码并运行。 应该避免使用 eval,不安全,非常耗性能(2次,一次解析成 js 语句,一次执行)。 ``` 详细资料可以参考: [《eval()》](https://developer.mozilla.org/ ......
eval 39

4.内部属性[[Class]]是什么

#### 4. 内部属性 [[Class]] 是什么? 所有 typeof 返回值为 "object" 的对象(如数组)都包含一个 内部属性 [[Class]] (我们可以把它看作 一个内部的分类,而非 传统的面向对象意义上的类 )。 这个属性 无法直接访问,一般通过 Object.prototyp ......
属性 Class

43.三种事件模型是什么

#### 43. 三种事件模型是什么? ``` 事件是用户操作网页时发生的交互动作或者网页本身的一些操作,现代浏览器一共有三种事件模型。 第一种事件模型是最早的 DOM0 级模型,这种模型不会传播,所以没有事件流的概念,但是现在有的浏览器支持以冒泡的方式实 现,它可以在网页中直接定义监听函数,也可以 ......
模型 事件 43

146.Vue的生命周期是什么

#### 146. Vue 的生命周期是什么? ``` Vue 的生命周期指的是组件从创建到销毁的一系列的过程,被称为 Vue 的生命周期。通过提供的 Vue 在生命周期各个阶段的钩子函数,我们可以很好的在 Vue 的各个生命阶段实现一些操作。 ``` ......
周期 生命 146 Vue

59.什么是浏览器的同源政策

#### 59. 什么是浏览器的同源政策? ``` 我对浏览器的同源政策的理解是,一个域下的 js 脚本在未经允许的情况下,不能够访问另一个域的内容。这里的同源的指的是两个 域的协议、域名、端口号必须相同,否则则不属于同一个域。 同源政策主要限制了三个方面 第一个是当前域下的 js 脚本不能够访问其 ......
浏览器 政策 59

104.什么是CSRF攻击如何防范CSRF攻击

#### 104. 什么是 CSRF 攻击?如何防范 CSRF 攻击? ``` CSRF 攻击指的是跨站请求伪造攻击,攻击者诱导用户进入一个第三方网站,然后该网站向被攻击网站发送跨站请求。如果用户在被 攻击网站中保存了登录状态,那么攻击者就可以利用这个登录状态,绕过后台的用户验证,冒充用户向服务器执 ......
CSRF 104

102.什么是XSS攻击如何防范XSS攻击

#### 102. 什么是 XSS 攻击?如何防范 XSS 攻击? ``` XSS 攻击指的是跨站脚本攻击,是一种代码注入攻击。攻击者通过在网站注入恶意脚本,使之在用户的浏览器上运行,从而盗取用户的信息如 cookie 等。 XSS 的本质是因为网站没有对恶意代码进行过滤,与正常的代码混合在一起了, ......
XSS 102

24.操作符什么时候用于字符串的拼接

#### 24. `+` 操作符什么时候用于字符串的拼接? ``` 根据 ES5 规范 11.6.1 节,如果某个操作数是字符串或者能够通过以下步骤转换为字符串的话,+ 将进行拼接操作。如果其 中一个操作数是对象(包括数组),则首先对其调用 ToPrimitive 抽象操作,该抽象操作再调用 [[D ......
操作符 字符串 字符 时候 24

50.new操作符具体干了什么呢如何实现

#### 50. new 操作符具体干了什么呢?如何实现? ```js // (1)首先创建了一个新的空对象 // (2)设置原型,将对象的原型设置为函数的 prototype 对象。 // (3)让函数的 this 指向这个对象,执行构造函数的代码(为这个新对象添加属性) // (4)判断函数的返 ......
操作符 new 50

25.什么情况下会发生布尔值的隐式强制类型转换

#### 25. 什么情况下会发生布尔值的隐式强制类型转换? ``` (1) if (..) 语句中的条件判断表达式。 (2) for ( .. ; .. ; .. ) 语句中的条件判断表达式(第二个)。 (3) while (..) 和 do..while(..) 循环中的条件判断表达式。 (4) ......
布尔 类型 情况 25

Python与DDT数据驱动测试

DDT 当测试脚本相同而使用不同测试数据时,可采用数据驱动测试。需要%将DDT.py与运行的.py文件放到一个目录下 安装:pip install ddt DDT装饰符:@data 读取单个值,使用@data(a,b) a和b各运行一次用例 读取列表或元组,@data([a,b])或@data((a ......
数据 Python DDT