软件测试基础

测试理论

1、质量管理+工程效率<测试效率>

2、PRD产品需求文档(交互,逻辑)

  PRD评审

  研发(写代码技术档案,写代码)

  测试(写计划,写方案,写测试用例)

  转测试(冒烟测试,完成,上线)
3、测试完成的评估(已有功能,新功能)

4、软件测试目的

  测试程序执行的过程,目的在于发现错误

  一个好的测试用例在于能发现至今未发现的问题

  一个成功的测试是发现的至今未发现的错误

  测试软件测试对象包含了:程序,数据以及文档

  企业里,更多核心检查的是程序是否满足产品PRD的需求,包含UI页面展示,程序内部逻辑交互,UI布局展示等。

5、测试基于客户需求

  做好软件测试计划是做好软件测试工作的关键。

  应最早的开始软件测试并不断的进行软件测试。

  测试前必须明确定义好产品的质量标准。

  避免测试自己的软件。

  应充分注意测试中的集群现象。

  必须检查每个实际输出结果。

6、软件测试

  按阶段划分(单元测试,集成测试,系统测试,验收测试)

  单元测试应成为unit Test

  测试方法:白盒测试根据不同的编程语言有对应的测试框架,如Java中Junit和TestNG框架,Python里面的UnitTest和PyTest测试框架

  测试阶段:编码后进行测试

 

Python

元组和列表的区别是什么?

  元组是不可变的 不能修改,不可增加也不可删除

  列表是可变的 可以增加,也可以把已有的对象删除

怎么理解序列化和反序列化?具体使用什么库和方法?

  将对象转换为可通过网络传输或可以存储到本地磁盘的数据格式的过程称为序列化;

  称为反序列化把变量内容从序列化的对象重新读取到内存中。

  使用JSON标准库;序列化使用dumps,dump;反序列化使用loads,load

怎么实现列表和字符串的转化?

  引入JSON标准库,字符串使用split方法进行拆分转换列表,使用json方法将列表转为字符串

在函数内部局部变量与全局变量的优先级那个高?

  函数内部局部变量高于全局变量;调用函数是则输出全局变量

 

Liunx

怎么查看端口?

  lsof -i:端口号

如何查看文件最后十行?

  tail -n 10 文件名

查看进程命令?

  PS

Vim中保存文件的步骤是什么?

  先按ESC按键,输入:wq 进行保存

查看平均负载

  uptime

 

MySQL

左连接,右连接,子查询关键字

left join 左连接,获取左表所有信息,获取左表所有数据符合要求的字段数据信息

right join 右连接,获取右表所有信息,获取右表所有数据符合要求的字段数据信息

where  in子查询,in运算符来确定指定列的值是否匹配列表中的值或子查询中的任何值。

MySQL默认端口为3306

 

Git

1、安装git应用,配置git环境变量

2、创建Git文件夹

3、使用命令提示符进入Git文件夹,使用git init命令创建仓库

4、配置用户名和邮箱:
  git config --global user.email " "
  git config --global user.name " "
5、检查配置:git config --list

6、使用ssh-keygen -t rac -C "邮箱目录" 创建密钥

  git add:添加文件(只需使用一次)
  git commit -m:提交文件

  git log:查看提交的log信息

  git status:查看当前仓库的状态

  git reset --hard “HEAD^” :返回上一次代码

支付模块——RestAPI——接口       后

  | 场景             请求 | 回应

课程模块——质量管理——测试效率     前

 

金字塔模型

       UI    功能测试—UI自动化

     service   接口测试

      unit     单元测试

 

集成测试

  把单个模块集成后进行测试,验证各个模块集成后之间的功能性,及模块集成后的功能流程性和逻辑兼容性测试;与黑盒测试和白盒测试相结合

 

系统测试

  将软件系统看成是一个系统的测试。包括对功能、性能及软件所运行的软硬件环境测试。把大部分时间在系统测试执行阶段来验证被测程序的整体功能。

 

验收测试

  验收测试是部署软件之前最后一个测试操作,目的是确保软件准备就绪,按照项目合同任务书双方约定的验收文档,向软件购买展示软件系统的原始需求。

测试完成——上线

      验收

测试完成

  | 发送邮件通知产品经理验收

产品经理收到邮件

  | 验收完成

回收邮件

 

黑盒测试(功能测试)——测试用例:因果图,边界值,错误推测,等价类

灰盒测试——代码评审

      代码走查

白盒测试——代码级别的测试,可以看到程序内部结构关系

      测试代码内部逻辑的准确性

 

手工测试(功能测试)

  由人一个个输入测试用例,观察结果和机械测试对应,属于必须步骤。

  优:具有无法替代的探索性测试,是自动化测试无法替代的测试行为。

  劣:执行效率慢,影响交付

 

自动化测试

  通过代码编写模拟人的行为对系统进行测试。自动化测试分为UI自动化,API自动化测试,性能自动化测试。

 

软件质量

  描述软件是否好用,使用标准基于ISO组织,具有六大特性

  功能性:软件需要满足用户显示或隐式的功能。

  易用性:软件易于学习和上手使用。

  可靠性:指软件必须实现需求当中指明的具体功能。

  效率性:类似于软件的性能。

  可维护性:要求软件具有将莫功能修复后继续使用的能力

  可移植性:当前软件可以从一个平台一直到另一个平台上使用的能力。

 

冒烟测试

  确认软件基本功能是否正常

 

开发自测———————转测

  | 反馈       | 冒烟测试——流程是否通

冒烟测试失败——不通过 | 通过——进入测试环节

 

探索性测试

  强调测试人员的主观能动性,强调遇到问题及时改变测试策略。

 

安全测试

  对产品检验符合安全需求定义和产品质量标准的过程。XSS攻击、SQL注入

回归测试

  修改旧代码后重新进行测试已确认没有引入新的错误。自动回归测试将大幅度降低系统测试、维护升级等阶段的成本。

  版本——不断迭代 已有功能——回归测试

           新的功能    |

           ——————功能测试

           影响范围

 

             转测

              |

            第一轮测试完成

代码管理——master分支   |

      dev分支  开发开始合并代码——  代码冲突

              |        代码缺少

            第二轮开始测试

              |

             验收流程

 

软件测试需求分析

  软件测试需求是设计测试用例的依据

  有助于保证测试的质量和进进度

  软件测试需求是衡量测试覆盖率的重要指标

例:测试开发职位搜索  企业可增加类型

            关键字搜索地域  checklist(检查项)  不同级别

            搜索结果展示              不同级别+地域

            结果信息核对              不同级别+地城

 

功能——正常逻辑

    异常逻辑

 

非功能性——性能测试   IE

             Chrome

             Firrfox

      安全性测试  |

      兼容性测试(浏览器,不同平台)

      稳定性测试       |  ios

                    Android

 

posted @ 2021-08-02 16:42  星德川  阅读(67)  评论(0)    收藏  举报