标签:中文 https ali builder public nes 微软雅黑 代码行数 ati
软件测试是软件开发流程的守门员,对于商用软件来说的重要性毋庸置疑,大型公司往往在软件测试的阶段投入大量的成本来保证软件
的稳定性,小型的软件开发也需要软件测试环节对软件进行修改和优化。
按照开发阶段划分,软件测试可分为单元测试、集成测试、系统测试和验收测试
一、白盒测试
测试环境 window10,eclipse Java 2019
测试工具:junit,ant,SourceMonitor,EclEmma
a)Junit使用示例
种类:单元测试
下载:如使用eclipse环境,无需下载
右键工程 -> Properties -> Java Build Path -> Add Library -> 选择JUnit
出现下图即为成功:
示例程序代码:
package calcue; public class calculate { public int Add(int a,int b) {//求和 return a+b; } public int Subtract(int a,int b) {// a-b return a-b; } public double Factor(int n) {//求阶乘 int i; double sum=1; for(i=1;i<=n;i++) sum*=i; if (n==0 || n==1) return 1; else return sum; } public int Divisor(int a,int b) {//求最大公约数 int tt=1; for (int i=1; i<=a;i++) if ( a%i == 0 && b%i ==0) tt= i; return tt; } }
示例测试代码:
package calcue; import static org.junit.Assert.*; import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.Test; public class calculateTest { calculate aa = new calculate(); //测试用例 @Test void testAdd() { assertEquals(3,aa.Add(1,2)); System.out.println("test0"); } @Test void testFactor() { assertEquals(Double.valueOf(120),aa.Factor(5)); System.out.println("test1"); } @Test void testDivisor() { assertEquals(3,aa.Divisor(15,27)); System.out.println("test2"); } }
进行预期(测试代码)和实际运行结果的自动比对:
效果如下:
红色框选处分别为各测试项的成功率和测试顺序:
更改期望进行报错提醒:
Junit使用总结:
1.各测试方法执行顺序:@BeforeClass ->@Before ->@Test ->@After ->@AfterClass (顺序不唯一)
2.测试方法上必须使用@Test
3.测试方法必须使用 public void进行修饰
4.新建一个源代码目录来存放测试代码
5.测试类的包应该和被测试类的包一样
6.测试单元中的每个方法一定要能够独立测试,其方法不能有任何依赖
b)EclEmma使用示例(使用与上述相同代码)
种类:覆盖率测试
*右键package -> Export Session -> 选择Coverage Report可以生成HTML文件
*HTML报告可以逐层展开,可以通过点击方法查看代码覆盖情况
各列名含义:
Missed Instruction:代码覆盖率
Missed Branches:逻辑分支覆盖率
Missed Cxty:判断执行数
Missed Lines:代码行数
Methods:方法个数
*可以通过点击方法查看源码
EclEmma工具:https://www.cnblogs.com/Ming8006/p/5811425.html
c)Ant使用示例
种类:自动报告生成工具
建立方法:右键项目名 -> 点击Properties -> 选择Builders -> 选择Ant Builder
*eclipse集成环境会自动生成相匹配的build.xml文件,相比于手动配置更加便捷
Ant工具:https://blog.csdn.net/qq_31896043/article/details/52185220
d)SourceMoniter
种类:复杂度分析工具
当代码过于简单,测试无效,如下图:
使用流程:
检测所有代码的复杂度总和:
检测的代码按照类分的详细信息:(双击总和表)
Source Monitor工具:https://www.cnblogs.com/xuehanyu/p/4520965.html
Source Monitor使用总结:
1.代码兼容性好,支持C、C++、C#、Java、VB、Delphi和HTML。
2.针对不同的语言,输出不同的代码度量值。
二、服务器测试
在搭建软件平台的过程中,要使用到服务器,故服务器的性能好坏也影响到软件的性能。
测试环境:
Windows7 i5-4590CPU @ 3.30GHz;RAM:8GB;64位操作系统
JDK 1.8
测试软件 :Apache JMeter 3.2
FTP服务软件:Quick Easy FTP Server
Quick Easy FTP Server是一个全中文的FTP服务器软件,反应迅速,操作方便,实现了标准FTP服务器所具有的功能。
该软件具有以下特点:
1.软件安装程序极小,但性能毫不逊色于专业的那些FTP服务器软件
2.功能全面.具备完整的帐户管理,便捷的服务器配置,安全性设置,在线用户信息, 服务器日志,实时数据统计,检软件界面查更新一应俱全
3.支持断点续传
4.完整的帮助系统
5.全中文,更适合中国人使用。
界面
简单操作
在浏览器中搜索 FTP:\\192.168.1.101 (服务器IP)
展示服务器根目录路径下所存储的文件信息
最开始的根目录路径 G:\QB\work\课程论文,包含我存储的两个文档
在根路径下添加文件,刷新网页,查看结果。
显示text.doc文件
Jmeter
简要概述
Apache JMeter是100%的纯java桌面应用程序,被设计为用于测试客户 端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资 源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数 据库和FTP服务器等等。JMeter可用于模拟大量负载来测试一台服务器,网 络或者对象的健壮性或者分析不同负载下的整体性能。
同时,JMeter可以帮助你对你的应用程序进行回归测试。通过你创建 的测试脚本和assertions来验证你的程序返回了所期待的值。为了更高的 适应性,JMeter允许你使用正则表达式来创建这些assertions.
优点:
1.开源,他是一款开源的免费软件,使用它你不需要支付任何费用,
2. 小巧,相比LR的庞大(最新LR11将近4GB),它非常小巧,不需 要安装,但需要JDK环境,因为它是使用java开发的工具。
3.功能强大,jmeter设计之初只是一个简单的web性能测试工具,但 经过不段的更新扩展,现在可以完成数据库、FTP、LDAP、WebService等方 面的测试。因为它的开源性,当然你也可以根据自己的需求扩展它的功能。
简单使用
添加线程组->添加FTP默认请求->添加FTP请求->添加查看结果树
FTP请求配置:
服务器IP和端口号:
见quick easy ftp服务器配置
登录配置:
见quick easy ftp用户账号管理
测试上传操作:
本地文件内容设置,如图
远程文件内容设置为空:
上传操作执行完成:
最开始选择了get,下载操作,而远程文件为空,无下载资源,故FTP请求 失败。
更改为put操作。
远程文件更新,结果如图:
清空本地文件
远程文件内容如图:
更改操作为get,下载操作
下载成功,本地文件结果如图;
探究下载过程的服务器的实际动作
查看quick easy ftp的服务器日志
为了便于分辨,将线程数改为1
获得一次完整的执行过程
其中开始和结束都为quick easy ftp的欢迎和结束词
修改验证:
发生更改:
解读日志中出现的命令
1.USER命令:(访问命令)
格式:USER<username>
功能:制定登录的用户名,以便服务器进行身份验证
2.PASS命令:(访问命令)
格式:PASS<password>
功能:指定用户口令,该命令必须跟在登录命令之后
3.PASV命令:(模式设置命令)
格式:pasv
功能:该命令告诉FTP服务器,让FTP服务器在指定的数据端口进行监听, 进入被动接收请求的状态
4.RETR命令:(文件传输命令)
格式:RETR<filename>
功能:请求服务器将指定路径内的文件复制到客户端,也即下载指定的文件
5.QUIT命令:(访问命令)
格式:QUIT
功能:关闭与服务器的连接
如果把同时发出5个请求,是执行5次这些指令吗?
线程数设为5
请求成功:
查看日志,5次执行的指令没有变化。
将模式改为上传进行比较
请求成功
查看日志:
可以看到仅更改了一个指令:
6.STOR命令:(文件传输命令)
格式:STOR<filename>
功能:上传一个指定的文件,并将其存储在指定的位置
用jmeter测试quick easy ftp server的上传下载性能(仅提供一次示例,将线程数更改重复操作即可)
B) 1秒30进程:
请求成功:
汇总报告:
汇总图:
图形结果:
表格结果:
Quick easy ftp server使用总结:
Quick easy FTP Server作为一个轻量级的小型FTP服务器,功能全面,操作方面,在访问额度为1~50时,可以保持较好的稳定性,在访问额度达到100时,下载的异常率仅为3.73%,适合作为本次小组项目的临时服务器,后续若项目落地,服务器必须进行更换。
标签:中文 https ali builder public nes 微软雅黑 代码行数 ati
原文地址:https://www.cnblogs.com/blackDuck/p/10963233.html