程序测试

使用Spock框架进行单元测试

佐手、 提交于 2019-11-26 16:34:11
1. 关于单元测试 很多人一谈到单元测试就会想到xUnit框架。对于一些java新人来说,会用jUnit就是会写单元测试,高级点的会捣鼓一下testng,然后就认为自己掌握了单元测试。 而实际上,很多人不怎么会写单元测试,甚至不知道单元测试究竟是干什么的。写单元测试要比写代码要难上许多,而这里说的难度跟框架没什么关系。 所以,在开始介绍spock之前,需要先抛开框架,谈谈单元测试本身的事情。在理解了单元测试之后才能更清楚spock框架是什么,以及它否能够更优雅的解决你的问题。 1.1.1. 单元测试是什么 写代码免不了要做测试,测试有很多种,对于java来说,最初级的就是写个main函数运行一下看看结果,高级的可以用各种高大上的复杂的测试系统。每种测试都有它的关注点,比如测试功能是不是正确,或者运行状态稳不稳定,或者能承受多少负载压力,等等。 那么所谓的单元测试是什么?这里直接引用维基百科上的词条说明: 单元测试(又称为模块测试, Unit Testing)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。 所以,我眼中的“合格的”单元测试需要满足几个条件: 测试的是一个代码单元内部的逻辑

分析abex'crackme#1

大憨熊 提交于 2019-11-26 14:23:43
测试文件下载: https://www.wocloud.com.cn/webclient/share/sindex.action?id=i9K_Br6TgE7Kf_YTF04yHmKcRy5TUdZ8U6_uiWwxDovNjPaT6IJAgRhtvqTOsW3w 打开文件之后,整个程序可以分为5个部分 第一部分是我们打开初始显示的字符串,第四部分是我们确认之后的字符串。 注意第三部分有两句指令 cmp eax,esi je short 0040103D je后面的地址是第五部分,根据提示很明显这里是不相等,执行第四部分,要想得到“successful”的结果,那么只要改动je为jnz或者jmp即可。 来源: https://www.cnblogs.com/Mayfly-nymph/p/11323619.html

测试用例,模版

a 夏天 提交于 2019-11-26 12:57:26
转载: https://blog.csdn.net/a823080387/article/details/55100730 该范例已经包含一个测试用例的模板。 项目/软件 技术出口合同网络申领系统 (企业端) 程序版本 1.0.25 功能模块名 Login 编制人   xxx 用例编号- TC-TEP_Login_1 编制时间   2002.10.12 相关的用例 无 功能特性 用户身份验证 测试目的 验证是否输入合法的信息,允许合法登陆,阻止非法登陆 预置条件 无 特殊规程说明 如数据库访问权限 参考信息 需求说明中关于“登陆”的说明 测试数据 用户名=yiyh 密码=1 操作步骤 操作描述 数 据 期望结果 实际结果 实际结果 测试状态(P/F) 1 输入用户名称,按“登陆”按钮。 用户名=yiyh,密码为空 显示警告信息“请输入用户名和密码!” 2 输入密码,按“登陆”按钮。 用户名为空,密码=1 显示警告信息“请输入用户名和密码!” 3 输入用户名和密码,按“登陆”按钮。 用户名=yiyh,密码=2 显示警告信息“请输入用户名和密码!” 4 输入用户名和密码,按“登陆”按钮。 用户名=xxx,密码=1 显示警告信息“请输入用户名和密码!” 5 输入用户名和密码,按“登陆”按钮。 用户名=xxx,密码=2 显示警告信息“请输入用户名和密码!” 6 输入用户名和密码,按“登陆

Maven工具-简介

半腔热情 提交于 2019-11-25 21:57:26
Maven工具-简介 定义 ①maven是一款服务于java平台的自动化构建工具 make→Ant→maven→Gradle ②构建 【1】概念:以“java源文件”、“框架配置文件”、‘JSP’、“HTMl”、“图片”等资源为“原材料”,去生产一个可以运行的项目的过程 编译 部署 搭建 【2】编译:java源文件【User.java】→编译→Class字节码文件【User.class】→交给JVM去执行 【3】部署:一个BS项目最终运行的并不是动态web项目本生,而是这个动态web工程‘编译的结果’ 生的鸡→处理→熟的鸡 动态web工程→编译 、 部署→编译结果 Tips:tc_server eclipse 插件,能够知道项目部署的位置 ③构建过程中的各个环节 【1】清理:将以前编译得到的旧的class文件删除,为下一次编译做准备 【2】编译:将java源程序编译成class字节码文件 【3】测试:自动测试,自动调用junit程序 【4】报告:测试程序执行的结果 【5】打包:动态web工程打war包,java工程打jar包 【6】安装:maven特定的概念---将打包得到的文件复制到‘仓库’中的指定位置 【7】部署:将动态的web工程生成的war包复制到servlet容器的指定目录下,使其可以运行 ④自动化构建 编译→打包→部署→测试 为何要使用Maven

软件测试面试题集合(一)

﹥>﹥吖頭↗ 提交于 2019-11-25 20:56:15
1.软件的生命周期(prdctrm) 计划阶段(planning)-〉需求分析(requirement)-〉设计阶段(design)-〉编码 (coding)->测试(testing)->运行与维护(running maintrnacne) 2、问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? 首先,将问题提交到缺陷管理库里面进行备案。 然后,要获取判断的依据和标准:根据需求说明书、产品说明、原型图、设计文档等,确认实际结果 是否与计划有不一致的地方,提供缺陷是否确认的直接依据; 如果没有文档依据, 1)可以根据同行或类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷; 2)根据用户的一般使用习惯,来确认是否是缺陷; 3)与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷; 合理的论述,向测试经理说明自己的判断的理由,等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。 3、给你一个网站,你如何测试? 首先,查找需求说明、网站设计等相关文档,分析测试需求。 制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试;界面测试;性 能测试;数据库测试;安全性测试;兼容性测试 设计测试用例: 功能性测试可以包括,但不限于以下几个方面: 链接测试。链接是否正确跳转