赞
踩
软件测试:验证软件功能是否满足用户的需求
是偏向于产品上线前,做的功能测试,用户使用,偏UI
软件测试是在软件投入使用之前通过手动或自动的方法对软件进行测试,以找出与预期结果不相符的地方,以检验软件功能是否符合用户的需求
算法测试:
是偏向于算法上线后,对效果做的测试,用户感知,偏后端,针对数据集
算法测试的类型主要包括–算法模型,需求规则,算法数据,功能测试,推荐效果测试,降级方案及性能优化,接口联调和测试工具开发
由于研究生期间实验室项目需要,做的一直是机器学习算法相关的东西,但是我本人对测试开发比较感兴趣,实习想找这方面 的,以后毕业了就业方向也想往这边走,我自己也自学了一些测试开发相关的知识啥的(夸了夸测试开发的前景)
(针对项目具体说)
配置参数:
IP地址/子网掩码/网关/DNS
在命令行ipconfig/all可以看目前IP地址的详细配置
网络的连通性测试 通过主机配置的IP地址和子网掩码
用Ping命令测试网络连通性,定位故障范围,检查网卡和TCP/IP协议
你有想过网络的丢包率这些参数吗?(buhui)
1、需求分析
根据版本系统说明书以及需求分析说明书,对本次需求进行分析。
2、需求评审
SE、PM、开发、测试、QA人员对本次需求的实现方案以及可行性进行评审,对需求中有任何疑问也可在此环节中提出。
3、PM制定开发计划,包括开发人员安排,编码时间,转测时间等。
4、开发与测试并行执行
开发人员对story进行分析设计,编码及自测。
测试根据开发计划输出测试计划,对各story进行测试点分析,并输出测试用例。
5、测试用例评审
开发、测试等对本次需求测试用例进行评审,多方达成一致。
6、测试提供5%-10%的用例作为冒烟用例,冒烟通过,进入ST功能测试阶段;冒烟不通过版本打回,开发进行编码修改,直到冒烟通过为止
7、测试对测试环境进行部署OR升级,执行测试用例,测试用例包括接口测试用例以及web测试用例,ST周期一般为4-8个工作日。
8、测试发现缺陷提单给开发,开发人员进行BUG修复,当本次需求全部测试完成,开发对问题全部修复完成,即可进入SDV1系统测试阶段
9、测试对上一轮的问题进行回归,对系统所有功能进行全量测试,并进行性能测试。
10、SDV1阶段测试发现缺陷提单给开发,开发人员进行BUG修复,当本次需求全部测试完成,开发对问题全部修复完成,即可进入SDV2系统测试阶段,一个迭代一般2-3个SDV阶段
11、测试对上一轮问题进行回归,并对系统进行进行全量以及发散测试,周期一般2-3个工作日
12、直到测试无问题,OR问题比较难以解决,且影响很小,一致确认问题遗留。测试输出测试报告,项目经理发布版本
主流的自动化测试方案,无一例外,都由人机沟通的编程语言,加上机器操作的工具来组成。
功能自动化测试
VBScript + QTP(HP UFT),商用功能自动化测试方案
Python/PHP/Java/C#/JavaScprit/Ruby + Selenium/Appium + 单元测试框架,开源功能自动化测试方案
这里我们多介绍一点,Selenium/Appium 本身不能算是测试工具,而只是机器用来操作浏览器的工具,并且这个工具能听懂多种语言:
Java,C# 这两个重 (zhòng) 语言
Python,Ruby 这两个脚本轻语言
PHP,JavaScript 这两个专门处理 Web 的语言
工具外加指定的语言,可以让机器来操作浏览器,但是到此时还无法做到测试,于是才需要每个语言自己的单元测试框架,来一起完成这个功能自动化测试方案的构建。
此外,业界还一种暂时临时的方案,就是 Python 2 + Robot Framework + Selenium Library 插件 + 单元测试框架 构成的一种测试方案,这个方案笔者不是非常推荐,主要基于两点:
理念:这是一种基于关键字的方案,那么关键字是 QTP(HP UFT)的特长,并不是Selenium的本意
技术:Python 2 终究是要退出历史舞台的,如果从零开始做自动化测试,还是直接入手 Python 3 吧,然而 Robot Framework 不支持 Python 3……
Python/Java/C#/JavaScprit/Ruby + Gauge,又一款开源的功能自动化测试方案
Thoughtworks 的基于BDD理念的自动化测试工具
Gauge 本身就是完整的测试方案
Gauge 是从需求分析师(BA)到测试工程师(QA)都覆盖的测试方案
Java/Python + Macaca,阿里巴巴的功能自动化测试方案,缺点是文档少
JavaScript + TestCafe,DevExpress 的开源功能自动化测试方案
pure node.js - TestCafe不使用Selenium,并且不需要插件来在实际浏览器中运行测试。它建立在node.js的顶部,因此它与现代开发工具集成和工作良好
无需额外的设置或配置- TestCafe是所有设置后立即运行测试npm install
完整的测试工具 - 使用单个启动命令,TestCafe启动浏览器,运行测试,收集结果并生成报告
JavaScript + Postman,免费的Web接口功能自动化测试方案
Groovy + SoapUI,开源的Web接口功能自动化测试方案
性能自动化测试
Java/C + HP LoadRunner,商业版性能测试方案
Java + JMeter,开源版性能测试方案
Python + locust,开源版性能测试方案
SELECT 语句用于从表中选取数据,查询获得的结果被存放在一个结果集中。例如:SELECT LastName,FirstName FROM Persons,表示从Persons数据表获取名为 “LastName” 和 “FirstName” 的列的内容。
INSERT INTO 语句用于向表格中插入新的行。使用该语句需注意插入时考虑清楚字段类型避免插入后出现缺值,乱码现象。例如:INSERT INTO Persons VALUES (‘Gates’, ‘Bill’, ‘Xuanwumen 10’, ‘Beijing’),表示向Persons数据表插入一条记录,记录的内容为’Gates’, ‘Bill’, ‘Xuanwumen 10’, ‘Beijing’。
Update 语句用于修改表中的数据。例如:UPDATE Person SET FirstName = ‘Fred’ WHERE LastName = ‘Wilson’,表示为 lastname 是 “Wilson” 的人添加 firstname。
DELETE 语句用于删除表中的行。例如:DELETE FROM Person WHERE LastName = ‘Wilson’,表示删除Person中LastName等于Wilson的记录。
以上四条语句都是常用的SQL语句,在实际应用中,我们往往会加上排序、分组、指针查询、计算等语句或函数来达到查询所需数据的目的。例如:SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer,表示查找每个Customer的总OrderPrice。
下载各自平台的安装包之后,CentOS 下面使用 rpm -i jdk-xxx.rpm 进行安装,Ubuntu 下面使用 dpkg -i jdk-xxx.deb 进行安装。其中 -i 是 install 的意思。
也可以直接下载 tar.gz 文件,然后使用 tar 工具解压,就可以了:tar xvzf jdk-xxx.tar.gz。
冒泡排序、选择排序、插入排序、希尔排序、堆排序、快速排序
快速排序:
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也非常实用
基本思想是:
1.先从数列中取出一个数作为基准数。
2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
3.再对左右区间重复第二步,直到各区间只有一个数。
(1)功能测试
(随机想的相关的一些性能)
(2)界面测试
(自己想的)
(3)性能测试
(自己想的)
(4)安全性测试
登录后台之后生成的Cookie,是否是httponly(否则容易被脚本盗取)
用户名和密码是否通过加密的方式,发送给web服务器
是否屏蔽了SQL注入攻击
是否可以保证后台回复人员的隐私
防止暴力破解,检测是否有错误登录的次数限制
(5)兼容性测试
不同移动平台或PC环境下能否显示正常且功能正常
同种平台下不同微信版本能否显示正常且功能正v
不同分辨率下显示是否正常
(6)本地化测试
检查在不同语言环境下,页面的显示是否正确
数组是将元素在内存中连续存储的,优点是数据连续存储内存地址连续,所以在查找数据时效率比较高,缺点是运行的时候空间大小无法根据需求进行增加和减少而改变的。数据增大时会出现越界的情况,数据小会浪费掉内存空间。在改变数据个数时,增加、插入、删除数据效率比较低链表是动态申请内存空间,不需要像数组提前申请好内存大小。
链表只需在用时申请即可,根据需要来动态申请或删除内存空间,对于数据增加和删除以及插入比数组灵活。还有就是链表中数据在内存中可以在任意的位置,通过应用来关联数据(就是通过存在元素的指针来联系)。
应用场景:
数组应用场景:数据比较少;经常做的运算是按序号访问数据元素;数组更容易实现,任何高级语言都支持;构建的线性表较稳定。
链表应用场景:对线性表的长度或者规模难以估计;频繁做插入删除操作;构建动态性比较强的线性表。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。