程序测试

结对项目博客

两盒软妹~` 提交于 2020-01-26 04:03:36
1.代码仓库地址: https://git.coding.net/mafx8859/ArithWeb.git 远程服务器测试路径(直接点击测试): http://47.93.197.5:8080/ArithmeticWeb1.0/ 2.PSP表格: PSP 任务内容 计划共完成需要的时间 实际完成需要的时间 Planning 计划 一周 一周 Estimate 估计这个任务需要多少时间,并规划大致工作步骤 一周 一周 Development 开发 4天 4天 Analysis 需求分析 (包括学习新技术) 3.5(h) 3(h) Design Spec 生成设计文档 2(h) 2(h) Design Review 设计复审 (和同事审核设计文档) 1(h) 1(h) Coding Standard 代码规范 (为目前的开发制定合适的规范) 1(h) 40min Design 具体设计 1h 35min Coding 具体编码 2天 2天 Code Review 代码复审 1(h) 1(h) Test 测试(自我测试,修改代码,提交修改) 2(h) 2(h) Reporting 报告 2h 1.5h Test Report 测试报告 1.5h 1h Size Measurement 计算工作量 30min 30min Postmortem & Process Improvement

五、测试-六、优化方案

我是研究僧i 提交于 2020-01-26 02:56:31
五、测试 1.单元测试    单元测试的方式是黑盒测试,即通过每个环节的输入输出情况进行测试。程序由四个类组成,对应生成四个测试类,使用Junit5对其中的主要方法进行测试。测试的大致思路是预先设计较为简单的数独用例,生成新的对象,运行方法,并将阶段性的结果与预先计算的结果相比较。    有些方法具有返回值,便于设计测试类,例如对 Main::isNumber()进行测试: //Main::isNumber public static boolean isNumber(String str){ String reg = "^[0-9]+?$"; return str.matches(reg); }//MainTest::testIsNumber @Test final void testIsNumber() { Assert.assertEquals(true, Main.isNumber("100")); Assert.assertEquals(true, Main.isNumber("10a")); Assert.assertEquals(true, Main.isNumber("4.5")); }    对于更多没有返回值的方法,采取验证阶段结果的方法,预测方法执行后对象属性的变化并加以验证。例如对SudokuGenerator::creatFirstBlock()方法的测试

极限编程

不打扰是莪最后的温柔 提交于 2020-01-26 02:51:53
概述 敏捷方法论有一个共同的特点,那就是都将矛头指向了“文档”,它们认为传统的软件工程方法文档量太“重”了,称为“重量级”方法,而相应的敏捷方法则是“轻量级”方法。正是因为“轻量级”感觉没有什么力量,不但不能够有效体现灵活性,反而显得是不解决问题的方法论似的。因此,就有了一次划时代的会议,创建了敏捷联盟。 在敏捷方法论领域中,比较知名的、有影响力的,是拥有与 Microsoft 的操作系统相同缩写语——XP的极限编程(eXtreme Programming)。极限编程方法论可以说是敏捷联盟中最鲜艳的一面旗帜,也是被研究、尝试、应用、赞扬、批判最多的一种方法论,也是相对来说最成熟的一种。 这一被誉为“黑客文化”的方法论的雏形最初形成于1996—1999年间,Kent Beck、Ward Cunninggham、Ron Jeffrey 在开发 C3 项目(Chrysler Comprehensive Compensation)的实践中总结出了 XP 的基本元素。在此之后,Kent Beck 和他的一些好朋友们一起在实践中完善提高,终于形成了极限编程方法论。 解析极限编程 那么什么是 XP 呢?XP 是一种轻量(敏捷)、高效、低风险、柔性、可预测、科学而且充满乐趣的软件开发方式。与其他方法论相比,其最大的不同在于: 在更短的周期内,更早地提供具体、持续的反馈信息。 在迭代的进行计划编制

构建之法-软件测试+质量保障+稳定和发布阶段+IT行业的创新+人、绩效和职业道德

时间秒杀一切 提交于 2020-01-26 02:41:07
第十三章(软件测试) 要知道为什么有软件测试,首先需要知道软件开发,软件开发者一般都很难检查出自己的错误,所以才需要另外一个人测试,所以软件测试就诞生了。 书本介绍了很多测试方法,各有各的优缺点,至于目的,就是测试者尽最大的努力找出软件中的错误和缺陷。 当测试时发现好多Bug该高兴还是该忧愁? 并不是说测试出Bug后该软件就是不好的软件,因为测试就是为了证明程序有错,而不是证明程序无错误。 一个成功的测试是发现了至今未发现的错误的测试。 第十四章(质量保障) 从第一章我们可以总结出:软件 质量 = 程序 质量 + 软件工程 质量 , 由此可以看出“程序的质量”和“软件工程的质量”影响软件的质量很大。 我们 男神女神配 的项目中,可能很多人都问我们的项目进展得怎么样了?能不能演示?。。。而我们这边的回答:“嗯,不知道,可能到了项目的最后一天才能看。。。”虽然我们组员都知道这样并不好,但是我们队真的想把最好的作品展示在大家面前才会没有那么快就把半成品拿出来。。。 但是,我们也同时知道,我们当把每个人的模块都整理好后也不算是一个成品,因为每一个项目在制作完成后都是由用户体验来感知这个软件到底是不是一个好软件。 第十五章(稳定和发布阶段) 我觉得我们团队现阶段的情况就像书本上说的那样: 缺乏对用户、行业、软件开发的洞察能力,对于“高质量”并没有具体的定义。 没有具体的招数让软件达到所谓的

程序架构_2

坚强是说给别人听的谎言 提交于 2020-01-25 05:37:27
架构设计 软件架构是指在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构,它包括该系统的各个组件,组件的外部可见属性及组件之间的相互关系。组件的外部可见属性是指其他组件对该组件所做的假设。 一、架构设计过程 业界软件架构设计的方法论很多,各有各自的应用场景和特点,下文结合ADMEMS(Architecture Design Method has been Extended to Method System)架构设计方法论说明软件架构的过程: 预架构阶段 目标:全面理解需求;需求结构化,摒弃“需求列表”,建立二维需求观(ADMEMS矩阵)。 方法:使用ADMEMS矩阵方法,捋清需求间关系和发现衍生需求。 具体步骤: 1、与人:与项目经理、需求分析师等内部需求人员了解需求;与客户了解需求(不建议架构师做需求分析师角色)。 2、与物:了解《需求规格说明书》等需求文档。" 3、对需求有什么问题,反馈给售前或销售,可能会参与拜访客户或电话会议。 4、销售或售前有时会要求提供一个大致的工作量,以便他们初步评估项目可行性。 概念架构 目标:高层组件及其关系 方法: 1、初步设计,基于关键功能,借助鲁棒图进行以发现职责为目的的初步设计(不是必须)。 2、高层分割,将复杂系统切分为多个二级系统或多个子系统。 3、考虑非功能需求,采用ADMEMS推荐的目标

Java学习笔记(十三):Junit单元测试、反射、注解

佐手、 提交于 2020-01-25 03:34:14
foochane : https://foochane.cn/article/2020011001.html 文章目录 1. Junit单元测试 1.1 测试分类 1.2 Junit使用 1.3 判定结果 1.4 补充 1.5 代码示例 2 反射:框架设计的灵魂 2.1 框架 2.2 反射的概念 2.3 获取Class对象的方式 2.4 Class对象功能 2.5 Field:成员变量 2.6 Constructor:构造方法 2.7 Method:方法对象 3 注解 3.1 概念 3.2 注解的作用 3.4 JDK中预定义的一些注解 3.5 自定义注解 格式 本质 要求 元注解 3.6 在程序使用(解析)注解 1. Junit单元测试 1.1 测试分类 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 白盒测试:需要写代码的。关注程序具体的执行流程。 1.2 Junit使用 Junit测试属于白盒测试。 使用步骤如下: 定义一个测试类(测试用例) 如: 测试类名:被测试的类名Test CalculatorTest 包名:xxx.xxx.xx.test cn.xxxx.test 定义测试方法:可以独立运行 方法名:test测试的方法名 testAdd() 返回值:void 参数列表:空参 给方法加@Test 导入junit依赖环境 1.3 判定结果

灰盒测试

那年仲夏 提交于 2020-01-24 11:48:46
灰盒测试 灰盒测试,是介于 白盒测试 与 黑盒测试 之间的一种测试,灰盒测试多用于 集成测试 阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。 定义 灰盒 测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识和与之交互的环境,能够用于 黑盒测试 以增强测试效率、错误发现和错误分析的效率。 学术含义 灰盒 (Gray Box)是一种程序或系统上的工作过程被局部认知的装置。灰盒 测试,也称作灰盒分析,是基于对程序内部细节有限认知上的 软件调试 方法。测试者可能知道 系统组件 之间是如何互相作用的,但缺乏对内部程序功能和运作的详细了解。对于内部过程,灰盒测试把程序看作一个必须从外面进行分析的 黑盒 。 灰盒 测试通常与web服务应用一起使用,因为尽管应用程序复杂多变,并不断发展进步, 因特网 仍可以提供相对稳定的接口。由于不需要测试者接触 源代码 ,因此灰盒测试不存在侵略性和偏见。开发者和测试者间有明显的区别,人事冲突的风险减到最小。然而,灰盒测试相对 白盒测试 更加难以发现并解决潜在问题,尤其在一个单一的应用中,白盒测试的内部细节可以完全掌握。 灰盒测试结合了白盒测试和 黑盒测试 的要素。它考虑了用户端、特定的系统知识和操作环境。它在

GUI自动测试化工具 Ranorex Studio 使用介绍

你说的曾经没有我的故事 提交于 2020-01-24 07:30:47
之前用的VS自带的测试工具进行Winform的测试。但是有一个第三方的插件,没有被更好的支持。 提示消息: 测试方法 EnformentUITestProject.CodedUITest1.CodedUITestMethod1 引发了异常: Microsoft.VisualStudio.TestTools.UITest.Extension.FailedToPerformActionOnBlockedControlException: 另一个控件正在阻止此控件。请使被阻止的控件可见,然后重试操作。 VS测试教程参考其他博客园: http://www.cnblogs.com/realdigit/archive/2011/02/14/1954238.html 这里主要围绕Ranorex Studio进行介绍。 文中用的是5.0.0版本。官网: http://www.ranorex.com/ 下载: http://www.ranorex.com/download.html (官网:填写信息下载30天试用版本)     http://www.kuaipan.cn/file/id_226427209806521415.htm?source=1 (金山网盘外链下载程序) 破解程序: http://download.csdn.net/detail/paddy356/7001099#comment

C语言文件操作解析

爷,独闯天下 提交于 2020-01-24 04:12:42
转自:http://www.cnblogs.com/dolphin0520/archive/2011/10/05/2199396.html C语言文件操作解析(一) 在讨论C语言文件操作之前,先了解一下与文件相关的东西。 一.文本文件和二进制文件 文本文件的定义:由若干行字符构成的计算机文件,存在于计算机系统中。文本文件只能存储文件中的有效字符信息,不能存储图像、声音等信息。狭义上的二进制文件则指除开文本文件之外的文件,如图片、DOC文档。 事实上,无论是上面所定义的文本文件还是二进制文件,在计算机中存储都是以二进制的形式存储的,因此其本质并没有区别。所以广义上的二进制文件便指所有的文件。 通常意义下,我们所说的文本文件指只包含了纯文本信息的文件(通过手动编辑完成,包含的都是可显字符),二进制文件特指文件里面存储的是二进制代码的文件。至于为什么在计算机内存储的都是二进制数据,而给我们所呈现的确是文字、图像等信息,这跟计算机硬件组成有关系,因为计算机里面的元件是晶体管,其只有两种稳定的状态,因此二进制的0和1能表示其状态。很多个晶体管的不同状态的组合便呈现给我们不同的信息了。下面以汉字在计算机中的表示为例。 二.汉字在计算机中的表示 用计算机去处理汉字信息,必须对汉字进行编码,变成能被计算机识别的二进制。汉字编码主要有输入码、机内码、字形码三种。分别有不同的作用。 输入码

java程序测试

梦想与她 提交于 2020-01-22 12:50:48
java程序测试 软件测试 单元测试 总结 软件测试 定义:选择一组具有代表性的测试用例,然后检查算法的实际输出与预期输出是否一致。 1,单元测试:对单个程序单元进行测试 2,集成测试:将各程序单元组装起来进行测试 3,系统测试:将开发好的程序部署到实际运行环境中进行测试 单元测试 工具:JUnit(将每个java类都作为一个单独的测试单元) JUnit 使用: 1,程序员编写java类定义代码 2,测试员为java类设计测试用例,然后按照JUnit代码框架将测试用例编写成测试代码 3,测试员运行测试代码,若出现错误,提醒程序员修改,再测试,直至都通过 演示: JUnit导入 编写待测试类A.java: 新建测试用例类: 运行测试: 总结 因为java类中的各方法签名,在程序设计阶段确立的,方法体是在编码阶段具体实现,JUnit单元测试,是在输入一致的情况下,对比预期输出与程序输出是否相同,来检测算法真确性,以及健壮性,不涉及算法内部设计。java类测试程序可以做到“一次编写,长期使用”,除非类签名发生改变。 来源: CSDN 作者: MP-214 链接: https://blog.csdn.net/BennetMa/article/details/104067704