当前位置:   article > 正文

软件测试知识点

软件测试知识点

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

软件测试的对象以及原则

测试的目的:根据需求去发现问题。
测试对象:文档、数据、程序。
原则:

  1. 测试证明软件缺陷
  2. 穷尽测试不可能
  3. 测试尽早介入
  4. 缺陷集群性(经验之谈,一般认为如此)
  5. 杀虫剂悖论(随机交叉测试,不要使用同一种放肆进行测试)
  6. 测试活动依赖于测试内容(不太行业测试重点不同)
  7. 不存在缺陷谬论

软件生命周期

软件工程可以分为三个大的阶段:需求; 设计; 测试与维护

  • 需求:
    问题的定义
    可行性分析
    需求分析
  • 设计:
    概要设计
    详细设计
    编码与单元测试 (集成测试)
  • 测试与维护
    综合测试
    维护
    测试方面:
    瀑布模型、V模型的测试均在编码之后,而W模型是测试与开发同步,可尽早发现问题。但V模型的测试阶段也早于瀑布模型,V模型可提前对局部代码进行测试,而瀑布模型则对整合之后的代码进行测试。

一、测试基础

1.用例的设计方法

1.等价类

等价划分,根据属性进行划分
有效等价(满足需求)与无效等价(不满足需求)

2.边界类

选取正好等于刚好大于刚好小于

3.判定表

以表格形式表示逻辑判断
条件桩
动作
条件项
动作项
判定表中贯穿条件项豫动作项的一列就是一条规则

4.场景化

也能叫流程图法,使用覆盖路径来设计测试用例

5.错误推测法

预测错误进行测试

冒烟测试
冒烟测试是自由测试的一种,是对软件的基本功能进行测试,由开发人员与测试人员共同执行,测试对象是每一个新编译的需要正式测试的软件版本。目的是确认软件的基本功能正常,保证软件系统能正常跑起来,可以进行后续的正常测试工作的进行,如果最基本的测试都有问题了,就直接打回开发部了,所以正式交付的测试版本,必须先通过冒烟测试的考验。

2.缺陷管理

缺陷是软件使用过程中的问题
缺陷的判定标准:少功能、功能错误、多功能、隐形功能错误(需求书虽然并未说出但是应该实现的要求)、不易使用(软件测试人员专业角度)
缺陷产生的原因 :
需求阶段:需求描述不易理解,有歧义、错误等
设计阶段:设计文档存在错误或者缺陷
编码阶段:代码出现错误
运行系统:软硬件系统本身故障导致软件缺陷
缺陷核心内容:缺陷的标题、缺陷的预置条件、缺陷的复现步骤、缺陷的预期结果、缺陷的实际结果、缺陷的必要附件(图片日志等)、缺陷的提交要素
软件缺陷的生命周期
PS:回归测试:1、常规项目回归:项目本次发布新增2个模块,最基本要测新增模块功能及新增模块关联的旧模块。2、非常规项目(银行、部队、航天):新增模块必须全部复测。
2、回归Bug:上一个版本发现的缺陷,开发修复完毕,在下一个版本进行重新测试。
缺陷提交要素

  • 缺陷报告编号
  • 缺陷标题:预期结果()
  • 严重级别:严重(S1):主程序 、一般(S2):次要功能 、微小(S3):易用性、界面
    建议(S4):建议性问题
    缺陷优先度:Priority0:24小时内解决 、Priority1:发布前必须修复 、Priority2:可以在下一个版本修复 模块
    Bug类型:代码错误、兼容性问题、设计缺陷、性能缺陷
    缺陷描述:前置条件、操作步骤、预期、实际 指派人 附件
    缺陷状态:new:新建 、 Open:打开 、Closed:关闭 、Postponed:延期

软件缺陷类型

  • 功能错误
  • 错误界面(UI)
  • 兼容性
  • 数据(数据库)
  • 易用性
  • 改进建议
  • 架构

缺陷管理工具—禅道
自行搜索使用

3.HTML

前端三大工具:html(网页架构)、css(网页的样式美化)、js(网页的行为)
html标签:

 - 标题标签:<h1><h6> 用于定义标题,h1 表示最大标题,h6 表示最小标题。
 - 段落标签:<p> 用于定义段落。
 - 链接标签:<a> 用于创建链接。 
 - 图像标签:<img> 用于插入图像。 
 - 列表标签:<ul>(无序列表)和<ol>(有序列表)用于创建列表项。 
 - 表格标签:<table> 用于定义表格,<tr>(行)和 <td>(列)用于定义表格的行和列。
 - 表单标签:<form> 用于创建表单,<input> 用于输入字段,如文本框、密码框等。 
 - 多媒体标签:<audio><video>用于嵌入音频和视频。 
 - 布局标签:<div><span> 用于分组和分隔内容。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

例子:

标题标签:

html
    <h1>这是主标题</h1>
    <h2>这是副标题</h2>
    <h3>这是小标题</h3>
  • 1
  • 2
  • 3
  • 4

段落标签:

html
    <p>这是一个段落。</p>
  • 1
  • 2

链接标签:

html
    <a href="https://www.example.com">点击这里</a>
  • 1
  • 2

图像标签:

html
    <img src="image.jpg" alt="图片描述" />
  • 1
  • 2

无序列表标签:

html
    <ul>
      <li>项目 1</li>
      <li>项目 2</li>
      <li>项目 3</li>
    </ul>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

效果如下:

  • 项目 1
  • 项目 2
  • 项目 3
有序列表标签:
html
    <ol>
      <li>第一项</li>
      <li>第二项</li>
      <li>第三项</li>
    </ol>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

效果如下:


  1. 第一项

  2. 第二项

  3. 第三项


表格标签:

html
    <table>
      <tr>
        <th>1 标题</th>
        <th>2 标题</th>
      </tr>
      <tr>
        <td>数据 1</td>
        <td>数据 2</td>
      </tr>
    </table>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

效果如下:

列 1 标题 列 2 标题
数据 1 数据 2
``` 表单标签:
<form action="">
  <input type="text" name="fname" />
  <input type="submit" value="提交" />
</form>
  • 1
  • 2
  • 3
  • 4

多媒体标签:

    <audio src="audio.mp3" controls></audio>
    <video src="video.mp4" controls></video>
  • 1
  • 2

布局标签:

    <div class="container">
      <!-- 内容 -->
    </div>
    <span>这是一个单独的元素</span>
  • 1
  • 2
  • 3
  • 4

二、Linux与数据库

Linux部分

关机步骤涉及代码
代码如下(示例):

sync 将数据由内存同步到硬盘中。

shutdown 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:

shutdown –h 10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中。

shutdown –h now 立马关机

shutdown –h 20:25 系统会在今天20:25关机

shutdown –h +10 十分钟后关机

shutdown –r now 系统立马重启

shutdown –r +10 系统十分钟后重启

reboot 就是重启,等同于 shutdown –r now

halt 关闭系统,等同于shutdown –h now 和 poweroff

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

Linux 系统目录结构

在这里插入图片描述

LINUX远程连接----使用finalshell

在这里插入图片描述在这里插入图片描述在这里插入图片描述

linux常用命令

在这里插入图片描述

终端利用ssh登录远程服务器

安装ssh:

yum install ssh
启动ssh:

service sshd start
登录远程服务器:

ssh -p 50022 my@127.0.0.1
输入密码:
my@127.0.0.1:
-p 后面是端口

my 是服务器用户名

127.0.0.1 是服务器 ip

回车输入密码即可登录
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

数据库

sql语句

常用关键字:

  • SELECT:用于从数据库中选择数据。例如:SELECT * FROM users; 表示选择用户表中的所有数据。
  • FROM:指定要从哪个表中选择数据。例如:SELECT * FROM users; 中的 FROM users 表示从用户表中选择数据。
  • WHERE:用于筛选满足条件的数据。例如:SELECT * FROM users WHERE age > 18; 表示选择年龄大于 18岁的用户。 AND、OR:用于组合多个条件。例如:SELECT * FROM users WHERE age > 18 AND gender = ‘male’; 表示选择年龄大于 18 岁且性别为男性的用户。
  • GROUP BY:用于根据一个或多个列对数据进行分组。例如:SELECT age, COUNT(*) FROM users GROUP BY age;表示根据年龄对用户进行分组,并统计每个年龄组的数量。
  • HAVING:用于在分组后对结果进行过滤。例如:SELECT age,COUNT() FROM users GROUP BY age HAVING COUNT() > 5;表示在按年龄分组后,筛选出数量大于 5 的年龄组。
  • ORDER BY:用于对结果进行排序。例如:SELECT * FROM usersORDER BY age DESC; 表示按年龄降序排列用户数据。
  • INSERT:用于向数据库中插入新的数据。例如:INSERT INTO users (name, age, gender) VALUES ('John', 25, 'male');表示向用户表中插入一条新的用户记录。
  • UPDATE:用于更新数据库中的现有数据。例如:UPDATE users SET age = 30WHERE id = 1; 表示将用户表中 id 为 1 的用户的年龄更新为 30。
  • DELETE:用于从数据库中删除数据。例如:DELETE FROM users WHERE age < 18; 表示删除用户表中年龄小于18 岁的用户。 CREATE、DROP、ALTER:用于管理数据库对象,如创建、删除或修改表、视图、索引等。例如:CREATE TABLE users (id INT, name VARCHAR(50)); 表示创建一个用户表。
  • JOIN:用于连接多个表以获取相关数据。例如:SELECT * FROM users JOIN orders ON users.id = orders.user_id; 表示将用户表和订单表根据用户 ID 进行连接
DDL(Data Definition Language)数据定义语言

一、操作库

-- 创建库
create database db1;
-- 创建库是否存在,不存在则创建
create database if not exists db1;
-- 查看所有数据库
show databases;
-- 查看某个数据库的定义信息 
show create database db1; 
-- 修改数据库字符信息
alter database db1 character set utf8; 
-- 删除数据库
drop database db1; 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

二、操作表
–创建表

create table student(
    id int,
    name varchar(32),
    age int ,
    score double(4,1),
    birthday date,
    insert_time timestamp
);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

– 查看表结构

desc 表名;
-- 查看创建表的SQL语句
show create table 表名;
-- 修改表名
alter table 表名 rename to 新的表名;
-- 添加一列
alter table 表名 add 列名 数据类型;
-- 删除列
alter table 表名 drop 列名;
-- 删除表
drop table 表名;
drop table  if exists 表名 ;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
DML(Data Manipulation Language)数据操作语言

一、增加 insert into

-- 写全所有列名
insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);
-- 不写列名(所有列全部添加)
insert into 表名 values(值1,值2,...值n);
-- 插入部分数据
insert into 表名(列名1,列名2) values(值1,值2);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

二、删除 delete

-- 删除表中数据
delete from 表名 where 列名  =;
-- 删除表中所有数据
delete from 表名;
-- 删除表中所有数据(高效 先删除表,然后再创建一张一样的表。)
truncate table 表名;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

三、修改 update

-- 不带条件的修改(会修改所有行)
update 表名 set 列名 =;
-- 带条件的修改
update 表名 set 列名 = 值 where 列名=;
  • 1
  • 2
  • 3
  • 4
DQL(Data Query Language)数据查询语言

关于查询语句有很多,这里基础的不再介绍。主要介绍排序查询、聚合函数、模糊查询、分组查询、分页查询、内连接、外连接、子查询
在这里插入图片描述

一、基础关键字

BETWEEN…AND (在什么之间)和 IN( 集合)

-- 查询年龄大于等于20 小于等于30				
SELECT * FROM student WHERE age 
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/627380
推荐阅读
相关标签
  

闽ICP备14008679号