<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ypt]]></title><description><![CDATA[最初的梦想，终会抵达！]]></description><link>https://blog.youkuaiyun.com/ypt523</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ypt523]]></copyright><item><title><![CDATA[经典的测试面试题（详细）]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/82453814</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/82453814</guid><author>ypt523</author><pubDate>Thu, 06 Sep 2018 17:27:18 +0800</pubDate><description><![CDATA[1.给你一个网站，如何测试？

首先，查找需求说明书，网站设计等相关文档，分析测试需求。

制定测试计划、确定测试范围和测试策略，一般可以包括以下几个部分：功能测试、界面测试、性能测试、数据库测试、安全性测试、兼容性测试。

设计测试用例：

功能测试可以包括但不限于以下几个方面：

（1）链接测试，链接是否正确跳转，是否存在空页面或者无效页面，是否有不正确的出错信息的返回；

（2）提交功能的测...]]></description><category></category></item><item><title><![CDATA[MySQL基础篇（详细）]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/82290012</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/82290012</guid><author>ypt523</author><pubDate>Sat, 01 Sep 2018 20:41:19 +0800</pubDate><description><![CDATA[一、MySQL数据库基础

1.什么是数据库？


高效的存储和处理数据的介质（介质主要是两种：磁盘和内存）


2.目前主流的数据库有哪些？


SQL Server：微软产品，.Net程序员的最爱，中大型项目；
	Oracle：甲骨文产品，Java程序员，大型项目，适合处理复杂的业务逻辑；
	MySQL：sun公司产品，现在也属于甲骨文，中型和大型项目，并发性好，不适合做复杂的业务；
	DB2...]]></description><category></category></item><item><title><![CDATA[测试用例设计——微信发朋友圈（详细）]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/82226494</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/82226494</guid><author>ypt523</author><pubDate>Fri, 31 Aug 2018 18:04:00 +0800</pubDate><description><![CDATA[对于一个待测试的对象，我们通常通过以下几个方面来进行测试：功能测试、可靠性测试、易用性测试、效率、可维护性、可移植性、安全性测试、界面测试等。

本文将其分成两个方面来看：

（1）站在测试人员的技术测试角度（功能测试、可靠性测试、兼容性、可维护性、效率、可移植性、安全性测试、可维护性）

（2）站在用户的角度（功能测试、易用性测试）

站在测试人员的技术测试角度：

1.功能测试

功能测试是软...]]></description><category></category></item><item><title><![CDATA[如何编写测试用例？（详细分析）]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/81842051</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/81842051</guid><author>ypt523</author><pubDate>Mon, 20 Aug 2018 09:25:11 +0800</pubDate><description><![CDATA[一、概念

1.什么是测试用例？

为了实施测试而向被测系统提供的一组集合；
2.测试用例的作用？

检验软件是否满足用户的需求，体现一个测试人员的工作量、展现测试用例的设计思路；
3.测试用例包含哪些内容？

用例编号、用例名称、测试背景、前置条件、优先级、重要级、测试数据、测试步骤、预期结果、实际结果、备注；
4.编写测试用例的流程？

需求分析----&amp;gt;提取测试点----&amp;gt;测试用...]]></description><category></category></item><item><title><![CDATA[基于Huffman树的文件压缩（详细）]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/81737244</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/81737244</guid><author>ypt523</author><pubDate>Thu, 16 Aug 2018 16:44:42 +0800</pubDate><description><![CDATA[文件压缩

开发平台：Visual Studio 2008

开发技术：哈夫曼树，堆排序

项目流程：

（1）统计要压缩的文件中各字符出现的次数，利用数据结构中的小堆来构建Huffman树，每次在堆顶选出两个出现次数较小的字符先进行构建，将它们相加的结果又放进堆里面，直到堆里面的数据被取完，这样字符出现次数多的离Huffman树的根节点就比较近，字符出现次数少的离Huffman树的根节点就比较远...]]></description><category></category></item><item><title><![CDATA[mini聊天室（Linux下基于UDP实现的群聊系统）]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/81710651</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/81710651</guid><author>ypt523</author><pubDate>Wed, 15 Aug 2018 23:34:09 +0800</pubDate><description><![CDATA[一.原理



（1）客户端从标准输入读取数据，将数据序列化后发送至网络；

（2）服务器端使用多线程+生产者消费者模型；

生产者从网络中读取数据，并将读取到的用户信息添加至用户列表，将数据放至数据池中；
	消费者从数据池读取数据，并广播给所有在用户列表中的用户。
（3）数据经过网络以后，反序列化再次发送给客户端，实现群聊功能。

二.所用技术

平台：Centos7.0，64位操作系统

语言...]]></description><category></category></item><item><title><![CDATA[软件测试的基本流程（详细）]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/81539124</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/81539124</guid><author>ypt523</author><pubDate>Thu, 09 Aug 2018 16:56:02 +0800</pubDate><description><![CDATA[软件测试的基本流程：

需求分析阶段：阅读需求，理解需求，分析需求点，参与需求评审会议。

测试计划阶段：主要任务就是编写测试计划，参考软件需求规格说明书，项目总体计划，内容包括测试范围，进度安排，人力物力分配，整体测试策略的制定。

编写测试用例：适当的了解设计，搭建测试用例框架，根据需求和设计编写测试用例。

测试执行阶段：搭建环境准备数据，执行冒烟测试（预测试）然后进入正式测试（系统测试、回...]]></description><category></category></item><item><title><![CDATA[开发模型和测试模型]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/81511524</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/81511524</guid><author>ypt523</author><pubDate>Wed, 08 Aug 2018 20:59:25 +0800</pubDate><description><![CDATA[软件的生命周期

软件的生命周期是指：从软件产品的设想开始到软件不再使用而结束的时间。

软件的生命周期分为六个阶段：需求分析、计划、设计、编码、测试、运行维护。

开发模型

1.瀑布模型（Waterfall Model）



适用场景：适合需求变化少的项目、是串行的。

优点：

（1）强调开发的阶段性；

（2）强调早期计划及需求调查；

（3）强调产品测试。

缺点：

（1）依赖于早期...]]></description><category></category></item><item><title><![CDATA[如何对一个水杯进行测试？（详细）]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/81509922</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/81509922</guid><author>ypt523</author><pubDate>Wed, 08 Aug 2018 16:25:43 +0800</pubDate><description><![CDATA[在面试过程中，如果面试的是有关测试的岗位，那么必然会被问到测试相关的知识，测试一个水杯等问题是经常被问到的，那么今天我们就来讨论一下从哪些方面对一个水杯进行测试？

1.功能

（1）水倒水杯容量的一半

（2）水倒规定的安全线

（3）水倒满且流出来

（4）水杯容量刻度与其他水杯一致

（5）盖子拧紧水倒不出来

（6）烫手验证

2.性能

（1）使用最大次数或时间

（2）掉地上不易损坏
...]]></description><category></category></item><item><title><![CDATA[死锁和产生死锁的四个必要条件以及如何避免和预防死锁]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/81509454</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/81509454</guid><author>ypt523</author><pubDate>Wed, 08 Aug 2018 15:43:38 +0800</pubDate><description><![CDATA[什么是死锁

如果一组进程中的每一个进程都在等待仅由该组进程中的其它进程才能引发的事件，那么该组进程就是死锁的。

死锁出现的场景

（1）多个线程：彼此申请对方资源而导致的死锁。A申请B的资源时，因为资源被占用，A会被挂起等待B释放资源，同时B申请A的资源，因资源被占用B挂起等待A释放资源，而AB都处于挂起状态又无法释放资源，便形成了死锁。

（2）单个线程：A有自己的资源，但还要申请新的资源，...]]></description><category></category></item><item><title><![CDATA[二叉树的遍历（前序、中序、后序、层序）]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/81487988</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/81487988</guid><author>ypt523</author><pubDate>Wed, 08 Aug 2018 15:10:02 +0800</pubDate><description><![CDATA[1.二叉树基础

（1）定义：有且仅有一个根节点，除根节点以外，每个节点只有一个父节点，最多有两个子节点，子节点有左右之分。

（2）存储结构：二叉树的存储结构可以采用顺序存储结构，也可以采用链式存储结构，其中链式存储更加灵活。

在链式存储中，二叉树的每个节点采用结构体表示，结构体包含三个域：数据域、左指针域、右指针域。

2.二叉树遍历

“遍历”是二叉树各种操作的基础，二叉树是一种非线性结构...]]></description><category></category></item><item><title><![CDATA[一次完整的HTTP请求]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/81290493</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/81290493</guid><author>ypt523</author><pubDate>Mon, 30 Jul 2018 19:43:19 +0800</pubDate><description><![CDATA[一次完整的HTTP请求所经历的7个步骤

1.建立TCP连接

在HTTP工作开始之前，Web浏览器首先要通过网络与Web服务器建立连接，该连接是通过TCP来完成的，该协议与IP协议共同构建Internet，即著名的TCP/IP协议族，因此Internet又被称为是TCP/IP网络。HTTP是比TCP更高层次的应用层协议，根据规则，只有低层协议建立之后才能进行更高层协议的连接，因此，首先要建立TC...]]></description><category></category></item><item><title><![CDATA[malloc/free、new/delete的异同]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/81269496</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/81269496</guid><author>ypt523</author><pubDate>Sun, 29 Jul 2018 12:06:23 +0800</pubDate><description><![CDATA[malloc/free、new/delete的异同

相同点：都可用于申请动态内存和释放内存，进行动态内存管理。

不同点：

（1）操作对象不同。

malloc 与 free 是 C++/C  语言的标准库函数，new/delete 是 C++ 的操作符。对于非内部数据类的对象而言，只用 malloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数， 对象消亡之前要自动执...]]></description><category></category></item><item><title><![CDATA[static关键字的作用]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/81267907</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/81267907</guid><author>ypt523</author><pubDate>Sun, 29 Jul 2018 09:29:29 +0800</pubDate><description><![CDATA[内存分区

1）堆：由程序员手动分配和释放，完全不同于数据结构中的堆，分配方式类似链表，若程序员不释放，程序结束时由系统释放。

2）栈：由编译器自动分配和释放，存放函数的参数值、局部变量的值等，操作方式类似数据结构中的栈。

3）全局（静态）存储区：存放全局变量和静态变量，包括DATA段（全局初始化区）和BSS段（全局未初始化区），程序结束后由系统释放。其中，BSS段的特点是在程序执行之前BSS...]]></description><category></category></item><item><title><![CDATA[排序算法（七大经典排序算法）]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/80462873</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/80462873</guid><author>ypt523</author><pubDate>Sat, 26 May 2018 17:32:14 +0800</pubDate><description><![CDATA[排序算法在我们的现实生活中应用非常广泛，我们应该很好的掌握。下面我们将对7种常见算法逐个进行介绍：

常见的排序算法：



1.插入排序

（1）直接插入排序

思路分析：

思路分析：

①在长度为N的数组，将数组中第i  [1~（N-1) ] 个元素，插入到数组 [0~i] 适当的位置上。

②在排序的过程中当前元素之前的数组元素已经是有序的了。

③在插入的过程中，有序的数组元素，需要向右...]]></description><category></category></item><item><title><![CDATA[Linux下查看文件内容的命令和工具]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/80461796</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/80461796</guid><author>ypt523</author><pubDate>Sat, 26 May 2018 15:30:09 +0800</pubDate><description><![CDATA[在Linux下如果我们想要查看一个文件里面的内容，除了用编译器将其打开查看之外，Linux还提供了几条命令，可用不用打开文件就能把文件内容输出到显示屏上进行查看。1.catcat命令主要用来查看文件内容，创建文件，合并文件，追加文件等。1.1、查看文件格式：cat 文件名称说明：这条命令会把文件内容全部输出到显示屏上。cat -n 文件名称：查看文件内容，并对每一行进行编号。cat -b 文件名称...]]></description><category></category></item><item><title><![CDATA[Linux下的查询命令]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/80454216</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/80454216</guid><author>ypt523</author><pubDate>Fri, 25 May 2018 18:54:08 +0800</pubDate><description><![CDATA[1.whichwhich命令是在PATH变量指定的路径中，搜索某个系统命令的位置，并返回第一个搜索结果。也就是说，使用which命令，就可以看到系统命令是否存在，以及执行的到底是哪一个位置的命令。命令格式：which + 可执行文件名称which指令会在PATH变量指定的路径中，搜索某个系统命令的位置，并返回第一个搜索结果。2.whereiswhereis命令用于程序名的搜索，而且只搜索二进制文件...]]></description><category></category></item><item><title><![CDATA[Linux下find指令的详解]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/80454892</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/80454892</guid><author>ypt523</author><pubDate>Fri, 25 May 2018 18:51:04 +0800</pubDate><description><![CDATA[我们都知道，Linux下一切皆文件，所以对于Linux来说 find 是一条很重要的命令。Linux下面的 find 指令用于在目录结构中搜索文件，并执行指定的操作。它提供了相当多的查找条件，功能比较强大。在不指定查找目录的情况下， find 会对整个系统进行遍历。即使系统中含有网络文件系统，find 命令在该文件系统中同样有效。在运行一个非常消耗资源的 find 命令时，很多然都倾向于把它们放在...]]></description><category></category></item><item><title><![CDATA[单例模式]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/80417001</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/80417001</guid><author>ypt523</author><pubDate>Fri, 25 May 2018 16:22:57 +0800</pubDate><description><![CDATA[什么是单例模式有时候我们会有这样的需求，需要一个类只能有一个对象被实例化，这时我们可以使用单例模式。单例模式通过类本身来管理其唯一实例，在设计这个类的时候，让它只能创建一个实例并提供对此实例的全局访问。因此单例模式有两个基本的条件：（1）确保一个类只有一个实例被创建 （2）提供一个对实例的全局访问指针常见的单例模式的实现常用的单例模式实现方法有两种：饿汉模式和懒汉模式懒汉式单例模式：...]]></description><category></category></item><item><title><![CDATA[宏的用法与简介]]></title><link>https://blog.youkuaiyun.com/ypt523/article/details/80396999</link><guid>https://blog.youkuaiyun.com/ypt523/article/details/80396999</guid><author>ypt523</author><pubDate>Mon, 21 May 2018 20:59:49 +0800</pubDate><description><![CDATA[预处理指令例如：#include&amp;lt;stdio.h&amp;gt;    #include&amp;lt;stdlib.h&amp;gt;    #define MAX 100......因为它们是由预处理器解释的，所以称为预处理指令。预处理器读取代码，然后对其进行修改，并把修改过的代码传给编译器，再由编译器编译。在我们上述的例子当中预处理器用库函数stdio.h，stdlib.h的内容替换执行第一二条预处理指令，就...]]></description><category></category></item></channel></rss>