高手,您好:
    我是一名学习软件工程的学生,现在,我正在做我的第一个Java作品:
    一个CS结构的聊天系统...
    现在,我已经写了“大两万行代码”了....
    因为是“第一个Java作品”,弟我对于“整个项目的拼装”还没有经验...
    希望高手能够指导我:
    在采取Java语言和MyEclipse开发环境的现场背景下:用什么步骤,什么工具,什么流程,什么知识,能够将整个作品,调通,并且成为一个“完整的作品”?
    弟我的这个程序,包含了7个功能,三个系统参与角色,让整个程序,出现了相对比较复杂的“连接工程量”,并且,我的这个作品,结构比较清晰,但是,由于是第一个作品,没有完整的“调试运行时错误”的经验..
    弟我希望能够得到CSDN专家在于:
    1.调试程序的技术,如何快速具备,并且,调试CS结构的聊天系统的Java代码的技术,如何快速具备?
    2.进行单元测试的时候,常规的方法是什么?并且,进行相应的测试,有没有“现成的模板代码”:
    面向单元测试类所要面对的“测试母板类”和“测试组件类”的添加调试...?
    3.进行集成测试,需要注意哪些问题...?采用什么技术和调试步骤,能够得到整个代码的“快速装配”?
    而且能够得到整个代码尽可能“完整无缺”的功能连接...?
    4.进行一个3W行数量级的,并且,具有一定的连接复杂度和一定的工程实施精确度的“CS聊天系统”的,项目的调试连接运行,这个开发的需求的实施,有什么好的学习资源和好的学习书籍,能够让我的项目,得到“具有开发经验的工程师的指导”和“调试CS结构聊天系统的常见运行时错误”的MyEclipse的开发经验...
    希望高手能够帮助我这位:
    日日夜夜向着理想奔跑的筑梦者.
    一百分奉上!!
                                                         一位日日夜夜向着理想奔跑的筑梦者
                                                             2013年8月30日星期五早晨5点正单元测试myeclipse调试连接CS结构聊天系统集成测试

解决方案 »

  1.   

     首先,本着共同学习的态度来的。不是高手,鼻孔朝下。
     1.调试程序的技术,如何快速具备,并且,调试CS结构的聊天系统的Java代码的技术,如何快速具备?
     --调试程序,一般理解就是程序某个地方出问题了,应该如何分析操作,来定位解决这个问题。如果是报错了,就看日志分析,快速得出报错的代码位置。如果没有报错,这可能有两个原因:要么代码没有正确的处理异常,捕获异常时,内部消化了,但是又没有记录日志(这种编码习惯很不好);要么就是逻辑没考虑到,没有出错,只是跑到一个不是预期的分支中了。这种情况就比较难搞了。第一步还是看日志。这里要说明一点,一些关键的步骤,或者进入某个方法了,建议还是要打日志,可以把级别定为debug级别,这样可以详细的看出代码的走向。当然,如果很不幸的没有日志,只好使用打断点的方式了。这个依赖工具,比如eclipse。  至于你说的什么CS结构的,道理一样的,只是要分析是客户端还是服务端的问题,两边的日志都要看看了。
     2.进行单元测试的时候,常规的方法是什么?并且,进行相应的测试,有没有“现成的模板代码”:面向单元测试类所要面对的“测试母板类”和“测试组件类”的添加调试...?
     --单元测试之前,要有个代码走读、单元测试用例的编写。代码走读是让其它“小伙伴”和自己一起,走读一下代码,发现一些问题。另外也是清晰的了解代码的走向。然后对代码的脉络熟悉了,就可以将每个分支、场景画一个简单的流程图,以此为基础,编写单元测试用例(流程图的路径覆盖,来写用例)。一条用例的大致涵盖内容有:用例标题(一句话简单描述此用例要测什么)、预置条件(在测试此用例之前,需要准备哪些数据,或者其它特别的操作,例如检查数据库锁表时,数据有没有正确回滚)、操作步骤(具体执行哪些操作的描述)、预期结果(在这个用例中,最后应该显示什么结果,不仅包括前台显示,还有后台日志的检查点,都要提及)
    3.进行集成测试,需要注意哪些问题...?采用什么技术和调试步骤,能够得到整个代码的“快速装配”?而且能够得到整个代码尽可能“完整无缺”的功能连接...?
    --刚才说的单元测试有点偏重集成的测试。如果真的需要缩小粒度,需要考虑使用JUnit,对某个方法单独的测试了(具体请搜索JUnit相关)。
    4.进行一个3W行数量级的,并且,具有一定的连接复杂度和一定的工程实施精确度的“CS聊天系统”的,项目的调试连接运行,这个开发的需求的实施,有什么好的学习资源和好的学习书籍,能够让我的项目,得到“具有开发经验的工程师的指导”和“调试CS结构聊天系统的常见运行时错误”的 MyEclipse的开发经验...
    --任何复杂的东西都是一点一滴积累出来的。你的组织结构是否清晰,编码风格是否统一,静态检查是否通过(findbugs)。不过说到一些规范的东西,有个《Effective Java》,很厉害的。
      

  2.   

    单元测试用TestNG或JUnit做。你这里3w行代码估计2.5W行是界面,没有什么好的测试办法只能抓一批人来玩了。
    功能测试服务器倒是还好说你只要把客户端的界面那部分用程序替换掉,然后验证输入输出就行了,既然你的程序结构很清楚,那这应该不难吧。多用户的测试也可以用这个办法只不过每个测试都要跑很多次,来看看有没有同步或死锁的问题
    整合测试除了找一堆人来玩beta我是不知道有什么更好的办法了这些东西跟你用什么开发环境完全没关系,不要纠结eclipse。如果你不知道怎么搭建TestNG或JUnit,建议你搜索一下。既然写得出3W行代码,也不在乎Google一次吧另外3W行代码可以做到非常复杂的东西了,如果可能你先花时间在怎样把代码量缩小。做到了这一点,很多问题就迎刃而解了因为代码量缩小意味着重用度提高,代码结构自然就好了。其实所谓设计模式最终的目的不外乎更好的代码重用,更清晰的结构。