单元测试

第2次作业:熟悉使用工具

天涯浪子 提交于 2019-11-30 05:43:55
GIT地址 Git地址 GIT用户名 Misizu-star 学号后五位 61126 博客地址 我的博客 作业链接 个人第2次作业:熟悉使用工具 Part1.配置环境 1.VS2017 下载:目前VS更新到VS2019,(本人几乎使用过vs各种版本,推荐vs2017)下载VS2017去需要官网的找旧版本。 下载地址 安装:运行引导安装程序 等待下载安装,安装后设置一些个人配置,运行如图 2.git 下载: 下载地址 根据自己电脑配置选择对应版本 安装:安装过程建议选择默认,若在桌面点鼠标右键出现此标志则安装成功 part2.代码实现 背景 阿超家里的孩子上小学一年级了,这个暑假老师给家长们布置了一个作业:家长每天要给孩子出一些合理的,但要有些难度的四则运算题目,并且家长要对孩子的作业打分记录。作为程序员的阿超形成了这个软件的需求: 程序接收一个命令行参数 n,然后随机产生 n 道加减乘除(分别使用符号+-*/来表示)练习题,每个数字在 0 和 100 之间,运算符在 2 个 到 3 个之间。 软件所出的练习题在运算过程中不得出现非整数,比如不能出现 3÷5+2=2.6 这样的算式。 练习题生成好后,将生成的 n 道练习题及其对应的正确答案输出到一个文件 subject.txt 中。 设计过程 此次作业代码使用C++完成,创建一个名为Calculator的类,类成员包含生成题目

RESTFul API 测试全面介绍

北战南征 提交于 2019-11-30 05:37:06
什么是 API API 是应用程序编程接口(Application Programming Interface)的简称。从技术上讲,API 是 应用系统、操作系统、开发库等对一系列过程、函数的封装,开发人员可以使用 API 编程对其它的 应用系统、操作系统、开发库提供的功能进行调用。 如果以上对 API 的解释比较难以理解的话,我们举一个例子说明。假如你到了一个来到一个餐馆,不巧的时服务员这个时候不在。你可以到餐桌上拿到菜单,然后直接像厨师点菜,厨师就会按照你的要求去做。但是有时也会存在你点的菜没有原材料了。你就需要再次拿起菜单,再点一个其它菜。当有很多顾客都同时向厨师直接点菜时,厨师就要分出很大的精力去处理客户的订单,而不能专心做菜了。 另外我们这个世界有几百种语言。如果厨师不能听懂客户的语言该怎么办?这是最好有一个专门能听懂客户点菜的服务员。服务员就是厨师的 API,他(她)接收顾客的请求,然后传递给厨师,最后把顾客点的菜从厨师那里返回给顾客。服务员可以听懂顾客和厨师双方的语言。如果顾客点的菜后厨已经售罄,然后请顾客再选一个其它菜。这样可以节省顾客直接询问厨师的往返时间,顾客的体验也好多了。以上服务员服务顾客的这个过程也就是 API 的作用。 如上面的图所描述的那样,顾客向服务员提出订单,服务员的作用就时 API ,他(她)接收到订单转发给厨师,厨师这是就是后台的服务程序

《构建之法》——第二次作业

那年仲夏 提交于 2019-11-30 03:42:33
GIT地址 https://github.com/lazy-bear777 GIT用户名 lazy-bear777 学号后五位 62504 博客地址 https://www.cnblogs.com/lazy-bear/ 作业链接 https://www.cnblogs.com/harry240/p/11515697.html PART 00 软件安装及环境配置 (一)VS2017(现在已经更新为2019) 1.官网下载: https://visualstudio.microsoft.com/ ,打开网页后,点击Community 2019(适合我们学生用),开始下载. 2.下载完成后,点击下载好的程序,开始安装VS(注意选择安装的路径,一般其默认安装路径为c盘,大家都知道c盘的东西越多,电脑越卡顿,所以我们要更换安装路径) 在下图所示中,根据需要选择我们需要的工具进行下载安装。 3.等待安装完成。 4.安装过程中的问题: (1)在下载的时候,不知道应该下载哪一个版本(Community、Professional、Enterprise),查询博客【1】明白Community适合我们。 【1】 https://blog.csdn.net/BjarneCpp/article/details/72877862 注:详细安装教程可参见 https://blog.csdn.net

软件测试导论

纵饮孤独 提交于 2019-11-30 03:37:06
软件测试基础 需要学习的内容 了解软件生命周期 了解什么是软件测试 了解软件测试的目的 了解缺陷 研发组织和流程 1、什么是软件测试? 测试软件的bug;提升软件质量;验证软件的正确性;测试软件是否符合需求;测试软件是否符合客户隐形需求。 软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误的衡量软件质量,并对其是否满足设计要求进行评估的过程 2、软件测试的目的 1、找到软件的bug 2、证明软件可用 3、预防bug 测试的目的体现3个阶段 项目早期:开发对项目还不够熟悉,测试主要找致命或严重的bug 项目中期:整个项目比较稳定,测试证明软件是否可用 项目末期:软件的质量基本OK,可通过外部测试或者bug大少出找遗漏的bug 以下是软件生命周期 1,项目计划   项目计划是由谁来写的?项目经理(PM)   项目计划什么时候写的?项目启动之前写   项目计划里面包含的主要内容:who人员(做项目由哪些人) when时间(什么时间段做什么事情) what什么事情(做研发这个项目我们要做哪些事情) 2/需求分析   需求分析师由需求分析师来分析,需要分析客户具体想要的软件功能.界面以及不想要的比如错误处理等等 3/设计   设计是由系统架构是来设计的,需要输出需求规格说明书(SRS),概要说明书(HLD) 4/编码   编码是由谁来编的?开发工程师,要输出详细设计说明书

工欲善其事,必先利其器

非 Y 不嫁゛ 提交于 2019-11-30 03:05:01
GIT地址 https://github.com/ordinaryload GIT用户名 ordinaryload 学号后五位 23214 博客地址 https://www.cnblogs.com/xnch/ 作业链接 https://www.cnblogs.com/ChildishChange/p/10398212.html 项目背景   阿超家里的孩子上小学一年级了,这个暑假老师给家长们布置了一个作业:家长每天要给孩子出一些合理的,但要有些难度的四则运算题目,并且家长要对孩子的作业打分记录。   作为程序员的阿超心想,既然每天都需要出题,那何不做一个可以自动生成小学四则运算题目与解决题目的命令行 “软件”呢。他把老师的话翻译一下,就形成了这个软件的需求:   程序接收一个命令行参数 n,然后随机产生 n 道加减乘除(分别使用符号+-*/来表示)练习题,每个数字在 0 和 100 之间,运算符在 2 个 到 3 个之间。由于阿超的孩子才上一年级,并不知道分数。所以软件所出的练习题在运算过程中不得出现非整数,比如不能出现 3÷5+2=2.6 这样的算式。   练习题生成好后,将生成的 n 道练习题及其对应的正确答案输出到一个文件 subject.txt 中。   当程序接收的参数为4时,以下为一个输出文件示例。 13+17-1=29 11*15-5=160 3+10+4-16=1

go test 单元测试

僤鯓⒐⒋嵵緔 提交于 2019-11-30 02:14:59
go test 注释后必须多空出一行,也就是 // 下一行要预留为空行,否则go解析的时候会把下一行解析成注释 1. 条件build 举例  a.go // +build !test ...todo code b.go //+build test ...todo code 上面两个go文件,在执行 go build -tags "test" 的时候,实际上是只执行 b.go +build 是值得条件变异,test指的是 -tags 后的内容 符号 ! 是 “非” 的意思 2. go test 最大操作方位:包 包 //在packageName目录下,包与包用空格间隔 go test -tags "test" funnel/tasks net/http 上述代码中,funnel/task 和 net/http 分别是两个包 3. go test 最小操作范围: func go test -run=TestFunctionName //测试当前包下面的TestFunctionName函数 上述内容中,TestFunctionName 是函数名,函数测试必须遵循下面几点 测试文件需要与被测试文件保持同级目录(这也是go test中所有测试用例的规范):demo.go demo_test.go 文件命名规则:被测试文件的文件名_test.go 测试函数明明:Test+测试场景的函数名(t

远程调用单元测试+远程请求spring security获取令牌

故事扮演 提交于 2019-11-30 01:58:33
import org . junit . Test ; import org . junit . runner . RunWith ; import org . springframework . beans . factory . annotation . Autowired ; import org . springframework . boot . test . context . SpringBootTest ; import org . springframework . cloud . client . ServiceInstance ; import org . springframework . cloud . client . loadbalancer . LoadBalancerClient ; import org . springframework . http . HttpEntity ; import org . springframework . http . HttpMethod ; import org . springframework . http . ResponseEntity ; import org . springframework . http . client . ClientHttpResponse ; import org

四个测试阶段

隐身守侯 提交于 2019-11-29 23:23:53
1 、单元测试 单元测试(Unit testing),最小模块的测试,可以是一个函数或子程序,一般由开发者在系统开发过程中进行执行。单元测试针对每一个程序模块进行正确性检验, 检查各个程序模块是否正确地实现了规定的功能。单元测试是测试的第一步,其依据是详细设计,单元测试应对模块内所有重要的控制路径设计测试用例, 以便发现模块内部的错误。 2 、集成测试 集成测试(Integration testing),被测试系统的所有组件都集成在一起,找出被测试系统组件之间关系和接口中的错误。该测试一般在单元测试之后进行。 3 、系统测试 是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下, 岁计算机系统进行全面的功能覆盖。 4 、验收测试 α测试(Alpha testing),是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。 β测试(Beta testing),是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。 来源: https://www.cnblogs.com/1021kim/p/11538436.html

Java单元测试之JUnit 5快速上手

给你一囗甜甜゛ 提交于 2019-11-29 21:58:19
前言 单元测试是软件开发中必不可少的一环,但是在平常开发中往往因为项目周期紧,工作量大而被选择忽略,这样往往导致软件问题层出不穷。线上出现的不少问题其实在有单元测试的情况下就可以及时发现和处理,因此培养自己在日常开发中写单元测试的能力是很有必要的。无论是对自己的编码能力的提高,还是项目质量的提升,都是大有好处,本文将介绍 Java 单元测试框架 JUnit 5 的基础认识和使用来编写单元测试,希望同样对你有所帮助。 本文所涉及所有代码片段均在下面仓库中,感兴趣的小伙伴欢迎参考学习: https://github.com/wrcj12138aaa/junit5-actions 版本支持: JDK 8 JUnit 5.5.2 Lomok 1.18.8 认识 JUnit 5 要说什么是 JUnit 5,首先就得聊下 Java 单元测试框架 JUnit,它与另一个框架 TestNG 占据了 Java领域里单元测试框架的主要市场,其中 JUnit 有着较长的发展历史和不断演进的丰富功能,备受大多数 Java 开发者的青睐。 而说到 JUnit 的历史,JUnit 起源于 1997年,最初版本是由两位编程大师 Kent Beck 和 Erich Gamma 的一次飞机之旅上完成的,由于当时 Java 测试过程中缺乏成熟的工具,两人在飞机上就合作设计实现了 JUnit 雏形,旨在成为更好用的

单元测试 -- mock模拟测试总结

强颜欢笑 提交于 2019-11-29 19:11:47
世面上测试的工具还是比较多的。本人用mock模拟测试用的比较多。所以一种用好了,其实都是大同小异。可以自测就可以了 单元测试的命名 测试类的命名规范:被测试类的类名+Test后缀 测试用例的命名:由于一个被测试单元可能对应着不同的场景,因此测试用例应根据场景命名。比如某测试用例的场景为“当参数不合法时抛出异常”,则可以命名为 “throwExceptionWhenParamsIsInvalid”. 变量命名:测试一个单元时,预期的结果命名expectedResult,实际结果命名为actualResult 所有预期的都以expected为前缀 来源: https://blog.csdn.net/weixin_44550490/article/details/100890502