![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
软件测试和软件工程
文章平均质量分 69
软件测试,设计模式和软件工程
死磕的斯坦张
Coding everyday。
展开
-
软件工程 实验一 面向对象需求分析方法
实验一 面向对象需求分析方法一、实验目的1)掌握Visio(或Rational Rose)的特点、运行环境及获取方法;2)掌握Visio(或Rational Rose)基本使用方法;3)掌握使用Visio(或Rational Rose)绘制用例图、类图及活动图的步骤;二、实验环境与设备硬件环境:微机1台。软件环境:操作系统:Windows;建模工具:Visio或Rose;数据库:MySQL(可选);开发工具包:JDK(可选);开发环境:MyEclipse(可选);Web服务器:Tomcat(可原创 2021-12-09 18:58:57 · 2612 阅读 · 0 评论 -
软件工程 实验二 面向对象软件设计方法
实验二 面向对象软件设计方法一、实验目的掌握使用Visio或Rational Rose绘制类图的步骤;二、实验环境与设备硬件环境:微机1台。软件环境:操作系统:Windows;建模工具:Visio或 Rose;数据库:MySQL(可选);开发工具包:JDK(可选);开发环境:MyEclipse(可选);Web服务器:Tomcat(可选);浏览器:IE(可选)。三、预备知识1、掌握软件工程的基本知识2、掌握面向对象分析设计的基本知识3、掌握建立类图、顺序图、状态图、部署图的绘制方法四、实验原创 2021-12-09 18:56:48 · 2097 阅读 · 0 评论 -
服务外包(版本管理与控制工具)实验报告
版本管理与控制工具的综合应用实验学时:9实验类型:(演示、验证、√综合、√设计、研究) 实验要求:(√必修、选修)一、实验目的通过本实验的学习,掌握目前比较流行与优秀的版本管理与控制工具的基本用法,理解和掌握版本管理与控制必要性及其实践意义;结合软件服务外包理论知识,重点掌握在软件项目开发中使用版本管理与控制工具进行统筹管理与控制的技巧和方法,从而提高项目开发的工作效率、降低管理与控制成本、增强团队合作优势、提升综合实践能力。二、实验内容模块一:SVN环境的搭建及使用;模块二:SVN与M原创 2021-12-09 18:53:01 · 215 阅读 · 0 评论 -
设计模式:外观模式
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。本质就是针对复杂的功能调用通过统一地再封装达到简单调用,提高内聚性的方式。意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。主要解决:降低访问复杂系统的内部子系统时的复杂度,简化客户端之间的接口。何时使用:1、客户端不需要知道系统内部的复杂联系,整原创 2021-11-30 20:54:30 · 337 阅读 · 0 评论 -
设计模式:原型模式
意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。主要解决:在运行期建立和删除原型。何时使用: 1、当一个系统应该独立于它的产品创建,构成和表示时。 2、当要实例化的类是在运行时刻指定时,例如,通过动态装载。 3、为了避免创建一个与产品类层次平行的工厂类层次时。 4、当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。如何解决:利用已有的一个原型对象,快速地生成和原型对象一样的实例。关键代码:1、实现克隆操原创 2021-11-30 20:51:16 · 82 阅读 · 0 评论 -
设计模式:建造者模式
意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。何时使用:一些基本部件不会变,而其组合经常变化的时候。如何解决:将变与不变分离开。关键代码:建造者:创建和提供实例,指导者:管理建造出来的实例的依赖关系。创建一个表示食物条目和食物包装的接口。Item.java原创 2021-11-30 20:48:16 · 100 阅读 · 0 评论 -
设计模式:六大原则
设计模式的六大原则单一原则(Single Responsibility Principle)一个类或者一个方法只负责一个职责,尽量做到类的只有一个行为原因引起变化功能专业化,单一化,这样才能实现功能间解耦里氏替换原则 (LSP liskov subsitution principle)子类可以拓展父类的功能,但不能改变原有父类的功能,也就是子类必须完全具备父类所有的功能。依赖倒置原则(dependence inversion principle)面向接口编程,(通过接口作为参数实现场景) 上层原创 2021-11-29 20:06:29 · 92 阅读 · 0 评论 -
设计模式:装饰器模式
意图:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。主要解决:一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。何时使用:在不想增加很多子类的情况下扩展类。如何解决:将具体功能职责划分,同时继承装饰者模式。关键代码: 1、Component 类充当抽象角色,不应该具体实现。 2、修饰类引用和继承 Component 类,具体扩展类重写父类方法。创建一个接口:Shape.javapublic i原创 2021-11-29 17:00:17 · 497 阅读 · 0 评论 -
设计模式:策略模式
意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决:在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。何时使用:一个系统有许多许多类,而区分它们的只是他们直接的行为。如何解决:将这些算法封装成一个一个的类,任意地替换。关键代码:实现同一个接口。OperationAdd.javapublic class OperationAdd implements Strategy{ @Override public int doOperation原创 2021-11-29 16:49:42 · 101 阅读 · 0 评论 -
测试用例设计——边界值分析法
在前面的测试用例设计——等价类划分法中,我们使用等价类划分法给两位数加法器设计了测试用例,但在测试过程中我们发现了一个问题。 为什么我们用等价类法设计的测试用例没有发现这个问题呢?查看一下代码,发现程序员粗心,边界条件设置错误了。 无数的测试实践表明,大量的故障往往发生在输入定义域或输出值域的边界上,而不是在其内部。因此,针对各种...转载 2021-05-13 14:37:25 · 6661 阅读 · 0 评论 -
功能测试——Selenium自动化功能测试
实验目的 (1)学习使用了解Selenium自动化功能测试工具,了解Selenium测试工具的测试模式和过程; (2)掌握使用Selenium录制测试脚本、执行并分析测试脚本。 实验设备 主流PC机一套,要求安装windows操作系统、Selenium最新版本、OFFICE工具; 实验内容 (1)使用Selenium对Mer...转载 2021-06-10 14:49:21 · 2424 阅读 · 0 评论 -
《软件测试和质量管理》实验报告2——黑盒测试
实验目的:(1)掌握应用黑盒测试技术进行测试用例设计。(2)掌握对测试用例进行优化设计方法。实验内容:日期问题测试以下程序:该程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31和1900≤ year ≤2050),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为 2004 年11月30日,则该程序的输出为2004年12月1日。(1)划分等价类,按照等价类划分法设计测原创 2021-05-06 11:29:35 · 14309 阅读 · 0 评论 -
性能测试——JMeter脚本录制和HTTP负载测试
实验目的 (1)了解Jmeter性能测试工具的用途和简单的操作; (2)掌握Jmeter性能测试工具测试过程; (3)能够使用Jmeter进行负载测试; 实验步骤 使用Jmeter对MercuryTours网站(Mtours航空网站本地服务开启,浏览器输入http://loca...转载 2021-06-10 14:37:13 · 553 阅读 · 0 评论 -
《软件测试和质量管理》实验报告3——单元测试
实验三 单元测试实验类别:基本实验实验目的:(1)掌握单元测试技术,并要求按照单元测试的要求设计测试用例。(2)掌握在Eclipse里进行Junit4测试的技术。实验内容:日期问题测试以下程序:该程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31和1900≤ year ≤2050),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为 2004 年11月30日,则该程原创 2021-05-13 15:57:49 · 1980 阅读 · 2 评论 -
测试用例设计——等价类划分法
一、分析问题 如果我们需要对下面的这个两位数加法器设计测试用例,在测试了1+1,1+2,(-1)+1和(-1)+2之后,是否有必要测试1+3,1+4 ,1+(-3)和1+(-4)呢? 如果不对两位数加法器程序进行穷举测试,我们能否放心的认为其他所有的参数组合都是正确的呢? 可想而知,我们不可能输入这么多的组合进行测试。那么,如果不可...转载 2021-05-13 14:35:55 · 27605 阅读 · 2 评论 -
如何编写测试文档
如何编写测试文档 相信很多小伙伴都有过产品测试的经历,在测试环节之后,就是要编写合理的测试文档。那么一篇合格的测试文档是什么样的呢? 通常情况下,测试报告上会包含测试进度,测试环境,测试情况大致描述、作为测试者对于当前版本的看法(是否可以上线),测试内容(测试场景),测试概况,新提交的bug汇总等内容。 本文中将以我们的一个项目,TimeIsMoney,一款校园做任务挣钱的云平台为例。 测试文档包含的要素 一、项目背景 本测试报告的具体编...转载 2021-05-06 16:14:32 · 530 阅读 · 0 评论 -
JUnit5-单元测试
这里写目录标题单元测试-JUnit5简介单元测试-常用测试注解单元测试-断言机制简单断言数组断言组合断言异常断言超时断言快速失败单元测试-前置条件单元测试-参数化测试单元测试-JUnit5简介Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库JUnit 5官方文档作为最新版本的JUnit框架,JUnit5与之前版本的JUnit框架有很大的不同。由三个不同子项目的几个不同模块组成。JUnit 5 = JUnit Platform + JUnit Jupiter +转载 2021-04-08 16:49:32 · 421 阅读 · 0 评论 -
《软件测试和质量管理》实验报告1——白盒测试
一、目的和要求(1)掌握白盒测试技术,并能应用白盒测试技术设计测试用例(2)能用Junit实施测试二、实验内容int DoWork(int x,int y,int z){1 int k=0,j=0;2 if(( x>3 ) && ( z<10 ))3 {4 k=x*y-1; 5 j=sqrt(k);6 }7 if(( x= =4 ) || ( y>5 ))8 j=x*y+10;原创 2021-04-08 16:36:28 · 17080 阅读 · 1 评论 -
软件工程 实验一 面向对象需求分析方法
实验一 面向对象需求分析方法一、实验目的1)掌握Visio(或Rational Rose)的特点、运行环境及获取方法;2)掌握Visio(或Rational Rose)基本使用方法;3)掌握使用Visio(或Rational Rose)绘制用例图、类图及活动图的步骤;二、实验环境与设备硬件环境:微机1台。软件环境:操作系统:Windows;建模工具:Visio或Rose;数据库:MySQL(可选);开发工具包:JDK(可选);开发环境:MyEclipse(可选);Web服务器:Tomcat(可原创 2021-10-09 15:27:19 · 1858 阅读 · 0 评论 -
设计模式:代理模式
目录静态代理模式静态代理的优劣静态代理再理解案例动态代理【InvocationHandler:调用处理程序】【Proxy : 代理】深化理解动态代理的好处静态代理模式静态代理角色分析抽象角色 : 一般使用接口或者抽象类来实现真实角色 : 被代理的角色代理角色 : 代理真实角色 ; 代理真实角色后 , 一般会做一些附属的操作 .客户 : 使用代理角色来进行一些操作 .代码实现Rent . java 即抽象角色//抽象角色:租房public interface Rent { pu原创 2021-03-08 22:26:17 · 66 阅读 · 0 评论