测试用例设计--等价类的几个例子 软件测试

等价类的设计思路: 根据输入条件,确定等价类,包括有效等价类和无效等价类,建立等价类列表为每个等价类规定一个唯一的编号设计一个测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类被覆盖完为止设计一个测试用例,使其尽可能多的覆盖尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类被覆盖完为止 1、三角形--等价类测试的例子 某程序规定:“输入三个整数
阅读本文

《构建之法》第三章读后感

软件工程包括了什么呢?第一章提到过:软件工程包括了开发、运营、维护软件的过程中的很多技术、做法、习惯和思想。软件工程把这些相关的技术和过程统一到一个体系中,叫“软件开发流程”,软件开发流程的目的是为了提高软件开发、运营、维护的效率,以及提升用户满意度、软件的可靠性和可维护性。IC在团队中的流程是怎么样的呢?以开发人员为例,流程如下:1、通过交流、实验、快速原型等方法,理解问题、需求或任务2、提出多
阅读本文

隧道目标识别实验过程(一)数据集的制作

数据获取获得隧道监控视频原始的隧道监控视频是.dav格式,我直接用优酷播放器转换成.avi格式的视频文件。原始视频(.dav)优酷:转码后的文件:将视频转换成图片利用Total Video Converter软件将.avi视频转换成图片得到原始的图片数据:  数据集制作隧道内目标的种类初步设计为(1)非机动车辆cyclist(2)小型机动车辆car(3)大型机动车辆bus(4)行人pedestri
阅读本文

【UML】使用环境

用例图        用例图是在需求文档中使用的,但一定要配合用例一同使用。写用例和画用例图的目的是为了与用户确认需求,而实际上很多用户看不懂用例图。因此,可以理解为写用例是必须的,画用例图是次要的。类图        使用类图的目的就是为了简化逻辑,让我们的思维可以站在类级别的去考虑问题,从而避免一开始就陷入细节。而需要画类图的类有实体类,控制类,边界类。对象图        对象图是类图的实例
阅读本文

【UML】概述

前言        看完UML视频,很多人不明白UML到底是干什么用的,举个通俗的例子,就像盖房子一样,厨房卧室楼层之间怎么拼接,每个部分用什么材料,每个部分里放什么家具什么餐具,每个部分是干吗用的,UML就相当于施工图纸。我们知道,做一个小系统就像盖一间小房子,不需要图纸也可以,但是如果做大系统,试想,没有图纸,摩天大楼怎么拔地而起?        老生常谈,首先,得说一下UML的主要内容。面向
阅读本文

测试用例设计方法(四)因果图

1、理论知识前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模
阅读本文

测试用例设计方法(八)场景设计方法

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。 基本流和备选流:如下图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不
阅读本文

编程思想、哲学、道与术

一切的起源:问题及问题的求解: 编程是为了解决问题,而解决问题可以有多种视角和思路; 世界观与方法论: 马克思:世界是物质的,物质是运动的;运动着的物质是普遍联系和永恒发展的; 编程思想与世界观:  我们知道,哲学领域中,最根本的对立是唯物主义和唯心主义的对立,而附属其下,又有许多对立,如形而上学和辩证法的对立、可知论和不可知论的对立等等。这些对立形成了哲学的基本体系、派别和出发点。实际上,这些
阅读本文

C++11 右值引用

#include  “stdafx.h“ #include<iostream>   using namespace std;    /* 左值和右值的一个最常见的误解是:等号左边的就是左值,等号右边的就是右值。 左值和右值都是针对表达式而言的,左值是指表达式结束后依然存在的持久对象, 右值是指表达式结束时就不再存在的临时对象。一个区分左值与右值的便捷方法是: 看能不能对表达式取地址
阅读本文

LevelDb实现原理

引言 LevelDb本质上是一套存储系统以及在这套存储系统上提供的一些操作接口。为了便于理解LevelDB的存储结构以及工作流程,我们可以从两个不同的角度来分析一下LevleDb的原理:静态角度和动态角度。静态角度:主要了解系统如何对数据进行存储的,其数据是如何组织管理的;动态角度,主要是了解系统是如何对数据进行操作的,其操作流程是怎么回事,系统是如何运转起来的。 LevelDb整体架构及其存
阅读本文

软工 Chapter three

代码规范:1.代码风格规范。主要是文字上的规范,看似表面文章,实际上非常重要。2.代码设计规范。牵涉到程序设计、模块之间的关系、设计模式等方方面面的通用原则。结对编程:在结对编程的模式下,一对程序员肩并肩、平等地,互补地进行并发工作。他们并排坐在一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一起工作。他们一起分析,一起设计,一起写测试用例,一起编码,一起做单元测试,一起做集成测试,一起写
阅读本文

美工与静态页面制作

百度百科定义美工一般是指对平面,色彩 ,基调,创意等进行堆砌的技术人才,分为平面美工、网页美工和三维美工。一般需要精通Photoshop等设计软件。什么是静态页面静态页面又可以称为“伪界面“页面打包后,以.html结尾,在电脑上面可以双击运行,有界面效果美工是怎么设计静态页面的PS自带切片工具可以将整合在一起的素材,生成静态页面 步骤(具体见百度)选择切片工具把图片切成合适的内容保存为web格式保
阅读本文

面向对象编程思想的哲学起源(转载)

http://www.xuebuyuan.com/566309.html本来想象着写一整篇「面向对象编程思想的哲学起源」这样的题目,笔走纸上,方才发现这样的题目足够出本书,知识不够,写不动。但心里还是想写点自己的所思所想。    全篇就拿JAVA来举例了。众所周知,面向对象的四大基本要素:抽象(Abstract)、封装(Encapsulation)、继承(Inheritance)、多态(Polym
阅读本文

Java 中的接口有什么作用?好处?

接口的作用就是把使用接口的人和实现接口的人分开,实现接口的人不必要关心谁去使用,而使用接口的人也不用关心谁实现的接口,由接口将他们联系在一起。很多JAVA初级程序员对于接口存在的意义很疑惑。不知道接口到底是有什么作用,为什么要定义接口。      好像定义接口是提前做了个多余的工作。下面我给大家总结了4点关于JAVA中接口存在的意义:  1、重要性:在Java语言中, abstract class
阅读本文

xmlplus 组件设计系列之六 - 下拉刷新

“下拉刷新”由著名设计师 Loren Brichter 设计,并应用于 Twitter 第三方应用 Tweetie 中。2010年4月,Twitter 收购 Tweetie 开发商 Atebits 后,该专利归 Twitter 所有。这一章我们就来看看如何实现一个下拉刷新组件。分析和前面在设计组件时的做法一样,我们先想想看最终的成品组件是如何使用的,这需要点想像力。下拉刷新组件看成一个容器组件是合
阅读本文

《程序员修炼之道》笔记(二)

第二章 注重实效的途径1. 重复的危害a) DRY-Don’t Repeat Yourself。系统中的每一项知识都必须具有单一、无歧义、权威的表示。b) 重复是怎样发生的Imposed Duplication强加的重复。开发者觉得他们无可选择-环境似乎要求重复。Inadvertent Duplication无意的重复。开发者没有意识到自己在重复信息。Impatient Duplication无耐
阅读本文

构建之法——第三章

在这一周的时间中,我自学了《构建之法》的第三章—软件工程师的成长。本章内容主要给我们讲解了刚入职的软件工程师与卓有成效的高级工程师的区别,也可以认为是高级工程师的价值在何处。首先,回顾第一章我们所讲到的软件工程,它包括了开发、运营、维护软件的过程中的很多技术、做法、习惯和思想。软件工程把这些相关的技术和过程统一到一个体系中,叫“软件开发流程”,软件开发流程的目的是为了提高软件开发、运营、维护的效率
阅读本文

《构建之法》读书笔记三

第三章 软件工程师的成长  第三章主要讲的是评价软件工程师水平的主要方法。  软件开发流程不光是指团队的流程,还包括了个人开发流程,因为软件团队是由个人组成的。  在团队的大流程中,是每一个具体的个人在做开发、测试、用户界面设计、管理、交流等工作。因此,个人在团队中也有独立的流程。把每个人的工作有序地组织起来,就是团队的流程。由此可见,每个人的工作质量直接影响最终软件的质量。就像是木桶原理一样。一
阅读本文

《构建之法》小组第三次

这周我们小组学习了《构建之法》的第四章,从中知道了很多代码规范的各种原则,这些原则在编程时约束我们,可以使我们的程序更加规范化,可读性更高,便于复审,测试和修改。      代码规范可以分成两个部分。一、代码风格规范。主要是文字上的规定,看似表面文章,实际上非常重要。代码风格的原则是:简明,易读,无二义性。其中的内容包括:①缩进:一般不用Tab键,Tab键在不同的情况下会显示不同的长度
阅读本文

《构建之法》一周小结

1551427  钱洪章在软件工程的语境里,“敏捷流程”是一系列价值观和方法论的集合。敏捷开发的原则是:1、尽早并持续地交付有价值的软件以满足顾客需求2、敏捷流程欢迎需求变化,并利用这种变化来提高用户的竞争优势3、经常发布可用的软件,发布间隔可以从几周到几个月,能短则短4、业务人员和开发人员在项目项目开发过程中应该每天共同工作5、以有进取心的人为项目核心,从分支持信任他们6、无论团队内外,面对面交
阅读本文