现在的心情,难受
好难受。。
从来没有这样受打击,
失望,真的很失望!!!!
不想提了。。
现在的心情,难受
好难受。。
从来没有这样受打击,
失望,真的很失望!!!!
不想提了。。
有可能需要页面内进行用户cpatch解锁,才可以正常使用pop
访问下列地址:
https://www.google.com/a/***.com/UnlockCaptcha
无线点菜
仿龙脉
截图:
PDF文件:毕业设计文件下载
源代码文件:代码下载
==========================================
安装步骤:
一、安装步骤
假设全部安装在同一台计算机上,将本光盘全部文件复制到目标计算机上
1、安装sql2000
2、进入目录“SQL服务器”,安装sp4
3、进入目录“SQL服务器”,还原数据库yunfei
4、进入目录“IIS服务器\Microsoft SQL Server 2005 Mobile Edition”,安装Sqlce30setupcn.msi
5、进入目录“IIS服务器\Microsoft SQL Server 2005 Mobile Edition”,安装sql2kcnsp4.msi
6、(确认所在计算机已经安装了IIS)将目录“IIS服务器\wwwroot”指定为IIS根目录
7、运行Microsoft SQL Server 2005 Mobile Edition的“配置 Web 同步向导”,
在出现的步骤中新建立虚拟目录sqlce,路径指定为“IIS服务器\wwwroot”,
客户端身份验证选择“以匿名方式”,
在“匿名访问”界面取消复选框的选择
8、进入目录“测试机器(虚拟PDA端)”,安装netsvwrap(Virtual PC Network Driver).msi
9、进入目录“测试机器(虚拟PDA端)”,安装Windows Mobile 5.0 Pocket PC SDK.msi
10、进入目录“测试机器(虚拟PDA端)”,安装Windows Mobile 5.0 Emulator Images for Pocket PC – CHS.msi
11、进入控制面板——添加硬件——添加新的硬件设备——“安装我手动从列表选择的硬件(高级)”——网络适配器——Microsoft Loopback
Adapter
二、演示步骤
(1)客户端
1、禁用除Microsoft Loopback Adapter的其他网络连接,为Microsoft Loopback Adapter连接配置IP
2、进入C:\Program Files\Microsoft Device Emulator\1.0, 运行dvcemumanager.exe,右键选择“Pocket PC 2003 SE仿真程序”——连接
3、为打开的“Pocket PC 2003 SE仿真程序”配置IP地址和代理服务器地址,IP地址应和本地计算机同一网段,代理服务器地址为本地计算机的IP
4、打开“Pocket PC 2003 SE仿真程序”的“文件——配置——网络”,选择“启用NE2000 PCMCIA网络适配器并绑定到”,确定。
5、打开“Pocket PC 2003 SE仿真程序”浏览器,在地址栏输入本地计算机的IP地址,若配置无误,则会出现一个HTML页面,按顺序安装。
6、打开“Pocket PC 2003 SE仿真程序”——程序——资源管理器——Program Files——yunfei——运行程序
SQL服务器名:当前SQLserver所运行的实例的名称
SQL代理地址:当前计算机的IP地址(即运行IIS服务的计算机地址)
默认用户名:haijun,密码:haijun
(2)管理端
进入目录“管理端”,安装,即可使用
首先配置网络,默认用户名:111,密码:111
========================================================================
基本代码:
using System;
using System.Text;
using System.IO;
using System.Data;
using System.Windows.Forms;
using System.Collections;
using System.Data.Common;
using System.Data.SqlServerCe;
using System.Data.SqlClient;
using System.Reflection;
namespace Yunfei_Client
{
public class SQLServerCEWrapper
{
public static string ceUser =null;// "haijun";
public static string SqlServer =null;// "HAIJUN";
public static string SqlAgent_ip = null;//192.168.0.254
public static string SqlAgent =null;
public static string RemoteConnection = "Provider=sqloledb;Data Source=" + SqlServer + ";Initial Catalog=yunfei;User ID=sa;Password=sa;";
public static string LocalDatabase = string.Format(@"{0}\yunfei.sdf", Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase));
public static string LocalConnection = string.Format(@"Data Source = {0}", LocalDatabase);
public SQLServerCEWrapper()
{
}
public bool CreateDatabase()
{
if (File.Exists(LocalDatabase))
{
File.Delete(LocalDatabase);
SqlCeEngine SQLCEEngine = new SqlCeEngine(LocalConnection);
SQLCEEngine.CreateDatabase();
SQLCEEngine.Dispose();
// MessageBox.Show("数据库创建成功!");
return true;
}
else
{
SqlCeEngine SQLCEEngine = new SqlCeEngine(LocalConnection);
SQLCEEngine.CreateDatabase();
SQLCEEngine.Dispose();
return true;
}
}
public void DeleteDatabase()
{
// Delete the local database!
// *****************************
try
{
if (File.Exists(LocalDatabase) == true)
{
File.Delete(LocalDatabase);
}
}
catch (SqlCeException ex)
{
ShowErrors(ex);
}
}
public void Pull(bool KeepLocalData, string TableName, string sqlSelectString)
{
// 将表请求下载到本地数据库中。
// *****************************
try
{
string SQL=null;
SqlCeConnection cn=null;
SqlCeCommand cmd=null;
SqlCeRemoteDataAccess RDA = null;
// 创建并启动新的 RDA 对象
RDA = new SqlCeRemoteDataAccess(SqlAgent, LocalConnection);
// 是否保留本地数据?如果要保留,请先强制上载这些数据!
if (KeepLocalData)
{
RDA.Push(TableName, RemoteConnection, RdaBatchOption.BatchingOff);
}
// 在 Pull 之前,必须先删除本地表
// 打开本地数据库连接
cn = new SqlCeConnection(LocalConnection);
cn.Open();
// 删除本地表
SQL = "DROP TABLE " + TableName;
cmd = new SqlCeCommand(SQL, cn);
// 如果该表不存在,则出错。
// 如果出错,可以置之不理。
try
{
cmd.ExecuteNonQuery();
}
catch
{
}
// 关闭连接
cmd.Dispose();
cn.Close();
cn.Dispose();
// 最后,请求下载远程表!
SQL = sqlSelectString;
RDA.Pull(TableName, SQL, RemoteConnection, RdaTrackOption.TrackingOnWithIndexes);
// 清理
SQL = null;
RDA.Dispose();
}
catch (SqlCeException ex)
{
ShowErrors(ex);
}
}
public void Push(string localTableName)
{
try
{
SqlCeRemoteDataAccess RDA = null;
// 创建并启动新的 RDA 对象
RDA = new SqlCeRemoteDataAccess(SqlAgent, LocalConnection);
RDA.Push(localTableName, RemoteConnection, RdaBatchOption.BatchingOff);
RDA.Dispose();
//MessageBox.Show("数据上传成功!");
}
catch (SqlCeException ex)
{
ShowErrors(ex);
}
}
public DataSet GetResult(string TableName, string sqlSelectString)
{
// 从本地数据库获取数据。作为 DataSet 返回。
// *****************************
//try
//{
string SQL=null;
SqlCeConnection cn=null;
SqlCeCommand cmd=null;
DataSet ds=null;
SqlCeDataAdapter da=null;
// 初始化新的连接
cn = new SqlCeConnection(LocalConnection);
// 打开连接
cn.Open();
// 生成 SQL
SQL = sqlSelectString;
// 初始化新的命令
cmd = new SqlCeCommand(SQL, cn);
// 初始化新的 DataSet
ds = new DataSet();
da = new SqlCeDataAdapter(SQL, cn);
// 通过适配器,使用数据来填充 DataSet
da.Fill(ds, TableName);
// 清理
da.Dispose();
cmd.Dispose();
cn.Close();
cn.Dispose();
SQL = null;
// 返回 DataSet
return ds;
//}
//catch (SqlCeException ex)
//{
// ShowErrors(ex);
//}
}
public int CountResult(string sqlCountString)
{
// Count the result.
// *****************************
//try
//{
int Count = 0;
string SQL=null;
SqlCeConnection cn=null;
SqlCeCommand cmd=null;
cn = new SqlCeConnection(LocalConnection);
cn.Open();
SQL = sqlCountString;
cmd = new SqlCeCommand(SQL, cn);
cmd.CommandText = SQL;
Count =(int)cmd.ExecuteScalar();
cmd.Dispose();
cn.Close();
cn.Dispose();
SQL = null;
return Count;
//}
//catch (SqlCeException ex)
//{
// ShowErrors(ex);
//}
}
//public void DoResult(string sqlInsertString)
//{
// try
// {
// string SQL;
// SqlCeConnection cn;
// SqlCeCommand cmd;
// cn = new SqlCeConnection(LocalConnection);
// cn.Open();
// SQL = sqlInsertString;
// cmd = new SqlCeCommand(SQL, cn);
// cmd.CommandText = SQL;
// int ccc=cmd.ExecuteNonQuery();
// cmd.Dispose();
// cn.Dispose();
// }
// catch (SqlCeException ex)
// {
// ShowErrors(ex);
// }
//}
public void Submit(string sqlString)
{
try
{
SqlCeRemoteDataAccess RDA = null;
// 创建并启动新的 RDA 对象
RDA = new SqlCeRemoteDataAccess(SqlAgent, LocalConnection);
RDA.SubmitSql(sqlString,RemoteConnection);
RDA.Dispose();
//MessageBox.Show(远程执行命令成功!");
}
catch (SqlCeException ex)
{
ShowErrors(ex);
}
}
public static void ShowErrors(SqlCeException e)
{
SqlCeErrorCollection errorCollection = e.Errors;
StringBuilder bld = new StringBuilder();
Exception inner = e.InnerException;
foreach (SqlCeError err in errorCollection)
{
bld.Append("\n Error Code: " + err.HResult.ToString("X", System.Globalization.CultureInfo.CurrentCulture));
bld.Append("\n Message : " + err.Message);
bld.Append("\n Minor Err.: " + err.NativeError);
bld.Append("\n Source : " + err.Source);
foreach (int numPar in err.NumericErrorParameters)
{
if (0 != numPar) bld.Append("\n Num. Par. : " + numPar);
}
foreach (string errPar in err.ErrorParameters)
{
if (String.Empty != errPar) bld.Append("\n Err. Par. : " + errPar);
}
}
MessageBox.Show(bld.ToString());
}
}
}
一、概述
信息技术的飞速发展,使软件产品应用到社会的各个领域,软件产品的质量自然成为人们共同关注的焦点。不论软件的生产者还是软件的使用者,均生存在竞争的环境中,软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局。用户为了保证自己业务的顺利完成,当然希望选用优质的软件。质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加,还可能产生其他的责任风险,造成公司信誉下降,继而冲击股票市场。在一些关键应用 (如民航订票系统、银行结算系统、证券交易系统、自动飞行控制软件、军事防御和核电站安全控制系统等) 中使用质量有问题的软件,还可能造成灾难性的后果。
软件危机曾经是软件界甚至整个计算机界最热门的话题。为了解决这场危机,软件从业人员、专家和学者做出了大量的努力。现在人们已经逐步认识到所谓的软件危机实际上仅是一种状况,那就是软件中有错误,正是这些错误导致了软件开发在成本、进度和质量上的失控。有错是软件的属性,而且是无法改变的,因为软件是由人来完成的,所有由人做的工作都不会是完美无缺的。问题在于我们如何去避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。
四、软件测试的复杂性与经济性
人们常常以为,开发一个程序是困难的,测试一个程序则比较容易。这其实是误解。设计测试用例是一项细致并需要高度技巧的工作,稍有不慎就会顾此失彼,发生不应有的疏漏。
不论是黑盒测试方法还是白盒测试方法,由于测试情况数量巨大,都不可能进行彻底的测试。所谓彻底测试,就是让被测程序在一切可能的输入情况下全部执行一遍。通常也称这种测试为“穷举测试”。 “黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。 “白盒”法是穷举路径测试,贯穿程序的独立路径数是天文数字,但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。e.w.dijkstra的一句名言对测试的不彻底性作了很好的注解:“程序测试只能证明错误的存在,但不能证明错误不存在”。
在实际测试中,穷举测试工作量太大,实践上行不通,这就注定了一切实际测试都是不彻底的。当然就不能够保证被测试程序中不存在遗留的错误。软件工程的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成测试。为了降低测试成本,选择测试用例时应注意遵守“经济性”的原则。第一,要根据程序的重要性和一旦发生故障将造成的损失来确定它的测试等级;第二,要认真研究测试策略,以便能使用尽可能少的测试用例,发现尽可能多的程序错误。掌握好测试量是至关重要的,一位有经验的软件开发管理人员在谈到软件测试时曾这样说过:“不充分的测试是愚蠢的,而过度的测试是一种罪孽”。测试不足意味着让用户承担隐藏错误带来的危险,过度测试则会浪费许多宝贵的资源。
测试是软件生存期中费用消耗最大的环节。测试费用除了测试的直接消耗外,还包括其它的相关费用。能够决定需要做多少次测试的主要影响因素如下:
①、系统的目的
系统的目的的差别在很大程度上影响所需要进行的测试的数量。那些可能产生严重后果的系统必须要进行更多的测试。一台在boeing 757上的系统应该比一个用于公共图书馆中检索资料的系统需要更多的测试。一个用来控制密封燃气管道的系统应该比一个与有毒爆炸物品无关的系统有更高的可信度。一个安全关键软件的开发组比一个游戏软件开发组要有苛刻得多的查找错误方面的要求。
②、潜在的用户数量
一个系统的潜在用户数量也在很大程度上影响了测试必要性的程度。这主要是由于用户团体在经济方面的影响。一个在全世界范围内有几千个用户的系统肯定比一个只在办公室中运行的有两三个用户的系统需要更多的测试。如果不能使用的话,前一个系统的经济影响肯定比后一个系统大。除此而外,在分配处理错误的时候,所花的代价的差别也很大。如果在内部系统中发现了一个严重的错误,在处理错误的时候的费用就相对少一些,如果要处理一个遍布全世界的错误就需要花费相当大的财力和精力。
③、信息的价值
在考虑测试的必要性时,还需要将系统中所包含的信息的价值考虑在内,一个支持许多家大银行或众多证券交易所的客户机/服务器系统中含有经济价值非常高的内容。很显然这一系统需要比一个支持鞋店的系统要进行更多的测试。这两个系统的用户都希望得到高质量、无错误的系统,但是前一种系统的影响比后一种要大得多。因此我们应该从经济方面考虑,投入与经济价值相对应的时间和金钱去进行测试。
④、开发机构
一个没有标准和缺少经验的开发机构很可能开发出充满错误的系统。在一个建立了标准和有很多经验的开发机构中开发出来的系统中的错误不会很多,因此,对于不同的开发机构来说,所需要的测试的必要性也就截然的不同。
然而,那些需要进行大幅度改善的机构反而不大可能认识到自身的弱点。那些需要更加严格的测试过程的机构往往是最不可能进行这一活动的,在许多情况下,机构的管理部门并不能真正地理解开发一个高质量的系统的好处。
⑤、测试的时机
测试量会随时间的推移发生改变。在一个竟争很激烈的市场里,争取时间可能是制胜的关键,开始可能不会在测试上花多少时间,但几年后如果市场分配格局已经建立起来了,那么产品的质量就变得更重要了,测试量就要加大。测试量应该针对合适的目标进行调整。
给软件带来错误的原因很多,具体地说,主要有如下几点:
五、软件测试的心理学问题
1、程序测试的过程具有破坏性
人类的活动具有高度的目的性,建立适当的目标具有重要的心理作用。如果我们的目的是要证明程序中没有错误,那我们就会不自觉地朝这个方向去做;也就是说,我们会倾向于挑选那些使程序出错的可能性较小的测试数据。另一方面,如果我们的目标是要证明程序中有错,那就会选择一些易于发现程序所含错误的测试数据。而后一种态度会比前者给程序增添更多的价值。
测试的定义意味着程序测试的过程是具有破坏性的,其程度甚至达到了不可容忍的地步。社会上大多数人的人生观是建设性的,而不是破坏性的。人们倾向于创造一个物品,而不是轻易毁坏?个物品。因此,
软件测试基本概念
1、软件=程序+文档,软件测试=程序测试+文档测试。
“程序”是指能够实现某种功能的指令的集合,“文档”是指软件在开发、使用和维护过程中产生的图文集合。;
2、软件的分类
按功能分:系统软件、应用软件
按技术架构分:单机版软件、C/S结构软件(C是指客户端, S指服务器端)、B/S结构软件(B是指浏览器)
按照用户划分:产品软件、项目软件
按开发规模划分:小型、中型、大型
3、BUG的定义:软件的BUG指的是软件中(包括程序和文档)不符合用户需求的问题。常见的软件BUG分三种类型:完全没有实现的功能;基本实现了用户需求的功能;实现了用户不需要的功能。
4、测试环境=软件+网络+硬件。搭建环境:真实、干净、无毒、独立
5、软件环境的分类:软件开发环境软件生产运行环境
6、测试用例:指在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和与其结果!测试用例=输入+输出+测试环境。测试用例有两个模板,word和excel,前者适合性能测试,后者适合功能测试。
软件测试分类
1、黑盒测试:指的是把被测的软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果
白盒测试:指的是把盒子盖 打开,去研究里面的源代码和程序结构。
2、静态测试:是指不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误的过程。
动态测试:是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以我们判断一个测试属于动态测试还是静态测试,唯一的标准就是看是否运行程序。
注:同一个测试,既有可能属于黑盒测试,也有可能属于动态测试;既有可能属于静态测试,也有可能属于白盒测试。他们之间也有可能交叉。
3、单元测试:编译运行程序——静态测试——动态测试
集成测试:是单元测试的下一个阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部分。
系统测试:指的是将整个软件系统看作1个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。
验收测试:指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序.
验收测试又分为α测试和β测试,其实α测试指的是由用户、测试人员、开发人员等共同参与的内部测试,而β测试指的是内侧后的公测,即完全交给最终用户测试。
4、功能测试:是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。功能测试又可以细分为很多种:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。
性能测试:软件的性能包括很多方面,主要有时间性能和空间性能两种。时间性能:主要指软件的一个具体事务的响应时间。空间性能:主要指软件运行时所消耗的系统资源。
软件性能测试分为一般性能测试、稳定性测试、负载测试和压力测试。一般性能测试指的是让被测系统在正常的软硬件环境下运行,不向其十佳任何压力的性能测试。稳定性测试,也叫可靠性测试,是指连续运行内测系统,检查系统运行时的稳定程度。我们通常用MTBF(错误发生的平均时间间隔)来衡量系统的稳定性,越大稳定性越强。负载测试是性能测试的一种,通常是指让被测系统在其能忍受的眼里的极限范围之内连续运行,来测试系统的稳定性。压力测试是性能测试的一种,通常是指连续不断地给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。
假设一个人很轻松的就能背一袋米,背两袋米很吃力,最多就能背三袋米,那么:
一般性能测试:我就让他背一袋米
稳定性测试:我让他背一袋米,但是让他去操场上跑圈,看多久累倒。
负载测试:我让他背两袋米去操场上跑圈,看多久累倒。
压力测试:我让他背两袋米,三袋米,四袋米……发现他最多就能背三袋米。
5、回归测试:是指对软件的新的版本测试时,重复执行上一个版本测试时的用例
冒烟测试:是指在对一个新版本进行西戎大规模的测试之前,先验证一下软件的基本功能是否可以实现,是否具备可测性
随机测试:是指测试中所有的输入数据都是都是随机生成的,其目的是模拟用户的真是操作,并发现一些边缘的错误。
6、关系
测试工程师
1、测试工程应该具备的基本职业素质:三心二意一能力。三心:细心、耐心、信心。二意:服务意识、团队意识。一能力:沟通能力。
2、如何成为一名优秀的测试工程师:内功(基础知识:计算机硬件、网络、操作系统、数据库等)、测试技术(黑盒测试中等价类、边界值、因果图等,白盒测试中的语句覆盖、分支覆盖、路径覆盖等)
1)、不断学习充电
2)、阅读原版书籍
3)、阅读缺陷管理系统中的缺陷报告
4)、阅读高手写的测试用例
5)、学习产品相关的业务知识
3、SQA——软件质量保障,CMM是SQA用来监督项目的一个标准质量模型,SQA按照CMM上面各种规则来检验各种各样的项目。CMM——能力成熟度模型
4、软件测试的原则:
1)、Zero bug——指的是软件没有任何bug,没有bug是不可能的,我们只能想方设法把软件的bug数控制在可以忍受的范围之内。Good enough——指的是只要软件达到一定的质量要求,就可以停止测试了。
2)、不要试图穷举测试
3)、开发人员不能既是运动员又是裁判员
4)、软件测试要尽早执行
5)、软件测试应该追溯需求
6)、缺陷的二八定理——缺陷的集群现象或是虫子窝现象
7)、缺陷具有免疫性
黑盒测试技术
等价类技术、边界值技术、因果图法、流程图法
缺陷管理
1、BUG的分类
Bug严重级别(Severity,Bug级别):是指因缺陷引起的故障对软件产品的影响程度。由测试人员指定。A
错误导致了死机、产品失败(“崩溃”)、系统悬挂无法操作;
B
功能未实现或导致一个特性不能运行并且不可能有替代方案(包括计算错误);
C
错误导致了一个特性不能运行但可有一个替代方案;
D
错误是表面化或微小的(提示信息不太准确友好、错别字、UI布局或罕见故障等),对功能几乎没有影响,产品及属性仍可使用;
E
建设性的意见或建议。
Bug优先
其实最痴情的是男人而不是女人―――
生活中我们常常有一个错觉,一些失恋的男女,男人看上去似乎若无其事,女人则痛不欲生。一些离婚男女,似乎女人总是泪水涟涟的受伤者。这些种种使得人们以为女人似乎比男人要痴情得多。
其实,这是一种彻头彻尾的误解,可以这么说:女人是最善变的。 在感情上也不例外。
对感情这件事情来说,很多女人往往比男人更容易忘却。她们是感性动物,但不是感情动物。女人们很容易动情,她们动情的表现在表情上,比如眼睛微眯、满脸陶醉、一往情深的痴迷状。但是却有一点,她们在陶醉的时候,会彻底把以前的那段感情忘却得一干二净,而全身心的毫无保留的投入到新感情的怀抱中。
当失恋的时候,女人往往悲痛欲绝、痛不欲生,看她满脸哀怨、楚楚可怜的样子令人无比同情,但是你这样想就大错特错了,一般这样的状况不会持续很久,很多女人会很快将这段恋情忘却,在遇到新的恋人以后,会彻底地把以前的那个他抛在脑后,投入到新恋人的怀抱中去。对于女人来说,有时候泪水和欢颜是一种形式,所谓的女人的脸是六月的天,阴晴不定。 而看上去可怜兮兮的泪水,只不过是女人更换感情的前奏,当你看到一个女人在伤心地独自流泪的时候,就表明一段感情结束了,新的感情即将到来。
对于很多女人来说,流泪的目的有几个,一是冲刷伤痕,起到宣泄情绪、疗治创伤的目的。二是为了把以前的恋情痕迹在心理上冲刷干净。这样有一个目的,在遇到新恋人的时候,她们以一个全新的面目出现,因为她已经早就用泪水将以前的旧人在心里冲刷得一干二净。那个新人对女人来说,就是全部。
很多女人对恋人说:你是我生命的全部,这话确实是真心实意的没有一丝一毫谎言的,因为她们很善于忘却,她们早就把以前的人给忘却了。
很多男人对恋人说:你是我生命的全部,这话其实是欺骗女人高兴的,因为在男人心中,他们总有很多不舍,他们很难忘却曾经的那段感情,那个他曾经对之说过同样话的女人。
因此可以这么说,男人都是吃了碗里但是还在想着锅里的人,好比很多男人即使事隔多年后,他们仍然念念不忘曾经的初恋、曾经的恋情。
而对女人来说,她们只有一句话,那就是一心一意、死心塌地地和现在的男人过日子。女人是很容易忘却的动物。
很多恋情的分手,假如是女人先提出的,一般都是经过女人深思熟虑的,如果女人一旦提出,那么几乎可以这么说,这样的分手结局几乎无可挽回的了,因为在这之前,女人就经过了种种的权衡利弊、全盘考虑,她们最后在对男人带着深深的歉疚说出这话的时候,她们的表情很温柔很煽情很遗憾很不舍,这似乎令男人看了觉得她本来是爱自己的,只不过是女人因为不得已才离开自己,如果自己再努力一点,毛病再改掉一点,那么是会挽回女人的心,改变她们分手的决定的。
但是这想法却是大错特错了,女人一旦开口分手便绝对没有商量的余地了。
相反的是,在男人提出分手的时候,一般我们往往看到这样的场景,在女人哭哭啼啼、孩子眼泪涟涟的软磨硬攻下,男人心软了,长叹一声,算了,认命吧!就这样凑合过下去吧!很多男人都是这样的,外表冷酷,内里却是豆腐心。对很多濒临的死亡婚姻,由男人先提出分手的情况来说,只要女人再努力一把,以昔日情分和孩子亲情来作为武器,一般大多是能挽回男人的分手决心的。但是女人先提出的,基本就无可挽回了。
有一句话就是:天下最是狠毒妇人心,我们常常会看到很多情况是一个女人抛夫弃子与情人私奔,她们全无顾忌地投入到新情人的怀抱中。
但是很少有已婚男人愿意和情人私奔的。很多男人太重情、太痴情,女人追求的是一心一意心无旁贷的爱情。但是很多男人却因为重情而喜心不厌旧,所以这世界上你会发现很多偷偷摸摸的养情人和包二奶现象,大多是男人不愿意改变婚姻现状,因为他们不忍抛弃发妻和孩子,他们想想昔日的情分,尽管爱情已经死亡,但是感情仍然存在,所以他们还是想以另外的形式弥补在婚姻中的缺憾,而少让妻儿少受一点伤害。
可以这么说,那些包二奶的男人大多是有经济和社会活动能力离婚的,但是他们却没有选择离婚而采取偷偷摸摸地包二奶,从某种意义上来说,或许这样的选择要比单纯的离婚对社会的稳定更有好处。因此也可以这么说,那些包二奶的男人也不是很绝情的。
我们经常看到一些社会新闻,一些因为恋情分手而导致的悲剧,你会发现这些悲剧的制造者大多是男人,比如某某男人毁了某某女人的容貌,或者某某男人杀死了某某情人。
为什么会有这种现象呢?因为很多女人在一段婚外情这样的不伦之恋后,她们往往会彻底反省,于是考虑回归家庭,但是一旦这决定做出了,就毫无回改的商量余地。但是男人却深深地陷进去而不能自拔,于是悲剧就发生了。
有时候女人是比男人理智的。
男人因为爱才会娶一个女人,这是唯一的理由。而女人选择婚姻的唯一标准却是是否能完全地掌控那个男人,如果女人觉得驾驭不了这匹烈马,缺乏安全感,那么不管爱得多深,她们最终选择的是拒绝和分手,尽管那是一匹千里马。
所以你会发现,女人在婚姻中很热衷于管家和理财,她们喜欢指挥男人拼命地冲锋和赚钱。仅仅有爱的婚姻对女人来说是远远不够的,所以很少有女人会选择一个帅哥就随随便便地把自己给嫁了,她们更看中男人的发展潜力,也就是能力。
但是男人却相反,很多男人仅仅因为女人美貌就爱上了,然后就娶回家了。男人婚姻上是很不理智的感性动物。
最后总结,男人要比女人痴情的多,对很多男人来说,过去的已经消失的恋情永远都不会忘却。对女人来说,仅仅是一种回忆,想起的时候就唏嘘叹息两声,转过身来,她们会立即回到现实,全身心地投入到丈夫和现今恋人的怀抱里。
而男人却一边在拥抱怀里的恋人的时候,可能他心里却还在默默想念以往的女人:她怎么没有我以前的女人温柔?她的秀发怎么没有以前的她那种好闻的味道?
或者他们在拥抱情人的时候,有时候往往会想起自己的老婆的好处来,心里会有一丝内疚和不安,男人就是这样的动物,一种喜新不厌旧的感情动物,他们的烦恼就是在现实和过去之间来回闪回和冲突不断。
对男人来说,初恋的女人永远是最好的。对女人来说,现在的丈夫却是自己遇
到的最棒的。
女人用泪水来洗刷记忆,而男人则用记忆来加固永久的失落,永远耿耿于怀!
男人痴情,女人则善变!所以女人需要男人来牵引和掌握,而女人因为善变而更加深了男人探究的兴趣!
http://www.sylvania.com/ConsumerProducts/AutomotiveLighting/LampReplacementGuide/default.htm