软件工程_6th weeks
一、上次博客时说的UI,拖拉到现在才展示,完成了“登录,普通匹配,做题界面,做题结果”四项 功能:




二、单元测试工具
1、python单元测试工具
最近因为论文原因一直在用Python,Python有很多的单元测试框架和工具,主要说一下unittest(又叫做PyUnit):作为标准python中的一个模块,是其它框架和工具的基础。unittest中的4个重要的概念:test fixture, test case, test suite, test runner,关系和如何工作的如下静态图:

一个TestCase就是一个测试用例,多个测试用例结合在一起就是一个TestSuite,TestLoader是用来加载TestCase到TestSuite中的,TextTestRunner是来执行测试用例的,测试的结果会保存到TextTestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息。整个流程就是首先是要写好TestCase,然后由TestLoader加载TestCase到TestSuite,然后由TextTestRunner来运行TestSuite,运行的结果保存在TextTestResult中。
2、java单元测试工具
java单元测试工具种类很多,现对几个进行对比:
2.1 JTEST
2.1.1 简介
jtest是一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。Jtest先分析每个java类,然后自动生成junit测试用例并执行用例,从而实现代码的最大覆盖,并将代码运行时未处理的异常暴露出来;另外,它还可以检查以DbC(Design by Contract)规范开发的代码的正确性。
2.1.2 优势
使预防代码错误成为可能,从而大大节约成本,提高软件质量和开发效率;使单元测试——包括白盒、黑盒以及回归测试成为可能;使代码规范检查和自动纠正成为可能;鼓励开发团队横向协作来预防代码错误。
2.1.3 特点
通过简单的点击,自动实现代码基本错误的预防,这包括单元测试和代码规范的检查;生成并执行junit单元测试用例,对代码进行即时检查;提供了进行黑盒测试、模型测试和系统测试的快速途径;确认并阻止代码中不可捕获的异常、函数错误、内存泄漏、性能问题、安全弱点的问题。
2.1.4 价格
昂贵
2.2 JMETER
2.2.1 简介
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。使用JMeter进行性能测试。
2.2 特征
JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源)。JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。你可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。
2.3 JUNIT
2.3.1 简介
JUnit是一个开源的java测试框架,它是Xuint测试体系架构的一种实现。在JUnit单元测试框架的设计时,设定了三个总体目标,第一个是简化测试的编写,这种简化包括测试框架的学习和实际测试单元的编写;第二个是使测试单元保持持久性;第三个则是可以利用既有的测试来编写相关的测试。
2.3.2 优势
Junit是完全free的;使用方便,撰写测试很简单;JUnit测试检验其结果并提供立即的回馈;JUnit测试可以合成一个测试系列的层级架构
2.3.4 价格
免费
三、PSP
| Data | START_TIME | END_TIME | EVENT | TOTAL | ||||
| 4.10 | 19:00 | 19:15 | 站立会议 | 15min | ||||
| 4.11 | 9:00 | 11:00 | 论文 | QQ10min | Chat20min | 120min | ||
| 14:00 | 15:00 | 代码 | 讨论20min | 60min | ||||
| 15:30 | 15:50 | 站立会议 | 20min | |||||
| 18:00 | 19:30 | 软件工程课后作业查询 | 询问20min | 90min | ||||
| 4.12 | 9:00 | 11:20 | paper数据处理 | 140min | ||||
| 17:30 | 17:35 | 站立会议 | 5min | |||||
| 4.13 | 9:00 | 11:00 | 代码 | 音乐 50min | 120min | |||
| 8:30 | 9:40 | 博客 | 70min |
{K%HUAV2`}3N_43%EVJ2.png)
{K%HUAV2`}3N_43%EVJ2.png)
{K%HUAV2`}3N_43%EVJ2.png)
{K%HUAV2`}3N_43%EVJ2.png)
软件工程_6th weeks的更多相关文章
- 软件工程_1st weeks
本周为软件工程课的第一周,本周主要完成了三个工作:了解了github并使用.拜读了<构建之法>并开通了博客以及完成了四则运算的代码实现. 对于第一项工作github的安装和使用,花费了5个 ...
- 软件工程_10th weeks
不管是什么原因,都没有在周三24:00前发布博客,赶紧用行动补上~ psp DATE START_TIME END_TIME EVENT TYPE DELTA 5.8 9:00 12:00 论 ...
- 软件工程_9th weeks
PSP DATE START_TIME END_TIME EVENT TYPE TIME 4.30-5.3 5:30 4:00 旅游 娱乐 72h 5.3 14:00 17:0 ...
- 软件工程_8th weeks
第八周PSP 个人时间管理 由于本周主要在做论文实验,除了学习时间外有一些零散的时间也在思考代码的书写以及论文实验的流程,但是这些零散的时间并没有在总的表记录,所以想问一下老师,像这种平时零散思考的时 ...
- 软件工程_7th weeks
内聚和耦合(学习笔记) 一.内聚 内聚是一个模块内部各成分之间相关联程度的度量.把内聚按紧密程度从低到高排列次序为: 1.偶然内聚:指一个模块内各成分为完成一组功能而组合在一起,它们相互之间即使有关系 ...
- 软件工程_5th weeks
从周五开始经历了清明小长假,周六.周日和周一都处于假期状态,因此对于上篇博客的评论回复的很迟,而这周的工作做的也不多. 1.爆打小组 4.5日站立会议 时间:2016.4.5 15:00-15:34 ...
- 软件工程_4th weeks
本周要进行阿尔法版本的发布,因此我们做了一些代码和测试方面的工作.当然了下了课后第一件事还是巩固课上讲的知识,比如MVP.四象限.看了演讲<最后一课>等. 一.结对编程 本周的结对编程继续 ...
- 软件工程_3rd weeks
本周上课的第一件事就是四人组队做工程,因为之前没有太多的准备,所以过程有些仓促,只是最后的结果是好的.有了自己的队伍和课题.感觉就应该这样,平时的我们比较随意,没有一丝的紧迫感,这样会督促着我们完成任 ...
- 软件工程_2nd weeks
本周上课没有板书,都由老师口头叙述 因此有的笔记记得不是很全,幸好有郑蕊师姐发布的课堂笔记,很好的梳理上课的内容~ 1.根据老师上课给的建议,进行了深刻的思考和反思 1.1 作为一个学硕研究生,这门课 ...
随机推荐
- oracle 迁移
一.创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建. create directory exp_shengchan as '/home/oracle/exp_shen ...
- zabbix学习-zabbix安装
本次安装教程完全参考官方rpm安装教程: https://www.zabbix.com/documentation/3.4/zh/manual/installation/install_from_pa ...
- Qt5中的lambda表达式和使用lambda来写connect
c11新特性中加入了lambda表达式,所以Qt 也支持 需在.pro文件中加入 CONFIG += c++11 例子: QString program = "C:/Windows/Syst ...
- fatal error LNK1169: 找到一个或多个多重定义的符号或多个.c/.cpp文件想同时调用定义在.h文件里面的全局变量,防止重定义变量问题。
为什么.h文件中不能定义全局变量? 原因: 存在多次创建变量.如果头文件中可以定义全局变量,那么每个包含该头文件的文件里都会有该全局变量的定义.因为C语言的include是直接将文件嵌入到includ ...
- Android使用属性动画ValueAnimator动态改变SurfaceView的背景颜色
以下是主要代码,难点和疑问点都写在注释中: /** * 开始背景动画(此处为属性动画) */ private void startBackgroundAnimator(){ /* *参数解释: *ta ...
- [01] 初识SpringBoot:Hello World
引用百科的一句话来说,SpringBoot是一款全新框架,设计目的是为了简化新Spring应用的初始搭建以及开发过程. 怎么讲呢,首先要明确的就是SpringBoot不是替代Spring的一种解决方案 ...
- mysql 5.7 版本的安装
目录 一.概述 二.MySQL安装 三.安装成功验证 四.NavicatforMySQL下载及使用 一.概述 MySQL版本:5.7.17 下载地址:http://rj.baidu.com/soft/ ...
- Luogu3524 POI2011 Party 图论、构造
题目传送门:https://www.luogu.org/problemnew/show/P3524 大意:给一个$N$个点的图,其中一定有一个大小为$\frac{2}{3}N$的团,程序需给出一个大小 ...
- 练习angularjs的ng-click的应用
angular的click事件ng-click. 实现一个小功能计数器,用户可以点击“+”或“-”铵钮,数值每随点击铵钮增长1或减1.使用ng-init设置初始值为0. <div ng-app= ...
- maven 第一个Web项目——HelloWorld
1.安装Maven,具体步骤,参照博客[maven的安装与配置]http://www.cnblogs.com/dyh004/p/8523260.html 2.配置阿里云为Maven中央仓库,具体步骤, ...