软件开发-思考(摘抄)
来源:互联网 发布:昆仑虚 神兵 升阶数据 编辑:程序博客网 时间:2024/06/06 07:25
对于我们自己的程序,我想可以在以下两个主要的方面进行检查:
1、我们是否真正理解了用户的需求,是否从用户的角度为其设计并开发了程序。
如果当初在编写程序的时候没有了解相关的业务,也没有仔细听取客户所提出的需求,那么很可能我们做出的东西在我们自己测试的时候不会出错,一切都按照我们自己预想的情况运行。但是一旦到了客户那里,由于根本不符合客户的工作习惯,就会被他们认为是错误的。
2、我们是否在编写了程序之后完成了相关的测试。
这里的测试不仅仅包括正常数据的测试,而且还会包括非正常数据的测试,边缘情况的测试,也即是说,已经根据测试的原则选取了比较完备的测试用例。
另外,除了单元测试之后,如果出问题的程序是与其他模块相关的话,还需要做整合测试,否则很可能出现的情况是,自己测试的时候没有问题,而别人测试的时候就出现了问题。我就曾经遇到过这种情况,修改一本程序,在自己这里测试已经都没有问题了,结果交出去之后,在其他环节运行出了相关联的问题,后果很严重。
做了这些检查之后,多数时候我们会发现可能是因为忽略了某个环节,导致自己的程序出了问题,因为此时你还没有去指责别人,说那并非自己的错误,所以可以很简单地向他表示感谢,然后纠正自己的错误就可以了。
如果做了所有的检查之后,还是不能够发现他们所说的问题,那么接下来就需要与测试人员或者客户沟通了。
比方说,我们会问测试人员,你用什么样的数据进行的测试啊?能否帮忙给我演示一下,如果情况是可以重现的,那么我们就会很容易地针对具体的情况进行调试,从而找到错误了。
或者我们会问客户,你说我做的东西不符合你的要求,那么能否具体地说明是什么地方不符合呢?你的要求是什么样的呢?此时一定要抱着虚心学习的态度和客户交流,这样客户就会耐心地和你讲解、说明,可能你还会学习到很多重要的业务知识呢。
需要注意的是,此时我们向测试人员或者客户想要获取的信息必须是具体的,我们需要耐心地和他们说,请不要告诉我不对,也不要告诉我错误,我想知道的是你用的是什么样的数据,在什么样的情况下出的错,错误的表现是什么样的,你所想要的结果是什么样的等等,只有得到这些具体的信息之后,我们才能够做到有的放矢,有目的性地去解决问题。
一旦在所有的情况都检查过了之后,真的发现时测试人员或者客户出了问题,我们也不需要大惊小怪,小题大做,比方说,用很不屑的语气告诉他们:“以后测我的程序小心一点儿,你知不知道我浪费了多少时间。”或者说:“你如果不懂的话就不要乱说!”这样即便你在这个问题上表面上是胜利了,实际上却是一个失败者,因为你失去了和他们交流,从而成为朋友的机会,你会和测试人员或者客户成为冤家,以后不管什么事儿,都不会有任何的转圜余地,从而你以后的工作都会很难开展。
我们应该做的就是要宽容一些,人都是会犯错的,不要过分深究,可以说:“程序没事儿就好了,你测试的还是挺仔细的。”或者和客户说:“这个问题可能是当初咱们考虑得不够完备,系统暂时的实现就是这样的,如果你有好的建议还是可以告诉我的。”总之要表明自己的目的,就是要让自己的程序的质量更高,更能够为业务所服务。这样的话,我们对别人宽容,反过来别人也会对我们宽容,并且在测试和检查的时候也会更仔细,我们的程序的质量就会越来越高,一切都向着良性循环的方向发展。
最后说一句,这条原则其实不仅仅是做程序员所应该知道的,也应该是在生活中的各个方面所要做到的,让我们一起共勉。
1、我们是否真正理解了用户的需求,是否从用户的角度为其设计并开发了程序。
如果当初在编写程序的时候没有了解相关的业务,也没有仔细听取客户所提出的需求,那么很可能我们做出的东西在我们自己测试的时候不会出错,一切都按照我们自己预想的情况运行。但是一旦到了客户那里,由于根本不符合客户的工作习惯,就会被他们认为是错误的。
2、我们是否在编写了程序之后完成了相关的测试。
这里的测试不仅仅包括正常数据的测试,而且还会包括非正常数据的测试,边缘情况的测试,也即是说,已经根据测试的原则选取了比较完备的测试用例。
另外,除了单元测试之后,如果出问题的程序是与其他模块相关的话,还需要做整合测试,否则很可能出现的情况是,自己测试的时候没有问题,而别人测试的时候就出现了问题。我就曾经遇到过这种情况,修改一本程序,在自己这里测试已经都没有问题了,结果交出去之后,在其他环节运行出了相关联的问题,后果很严重。
做了这些检查之后,多数时候我们会发现可能是因为忽略了某个环节,导致自己的程序出了问题,因为此时你还没有去指责别人,说那并非自己的错误,所以可以很简单地向他表示感谢,然后纠正自己的错误就可以了。
如果做了所有的检查之后,还是不能够发现他们所说的问题,那么接下来就需要与测试人员或者客户沟通了。
比方说,我们会问测试人员,你用什么样的数据进行的测试啊?能否帮忙给我演示一下,如果情况是可以重现的,那么我们就会很容易地针对具体的情况进行调试,从而找到错误了。
或者我们会问客户,你说我做的东西不符合你的要求,那么能否具体地说明是什么地方不符合呢?你的要求是什么样的呢?此时一定要抱着虚心学习的态度和客户交流,这样客户就会耐心地和你讲解、说明,可能你还会学习到很多重要的业务知识呢。
需要注意的是,此时我们向测试人员或者客户想要获取的信息必须是具体的,我们需要耐心地和他们说,请不要告诉我不对,也不要告诉我错误,我想知道的是你用的是什么样的数据,在什么样的情况下出的错,错误的表现是什么样的,你所想要的结果是什么样的等等,只有得到这些具体的信息之后,我们才能够做到有的放矢,有目的性地去解决问题。
一旦在所有的情况都检查过了之后,真的发现时测试人员或者客户出了问题,我们也不需要大惊小怪,小题大做,比方说,用很不屑的语气告诉他们:“以后测我的程序小心一点儿,你知不知道我浪费了多少时间。”或者说:“你如果不懂的话就不要乱说!”这样即便你在这个问题上表面上是胜利了,实际上却是一个失败者,因为你失去了和他们交流,从而成为朋友的机会,你会和测试人员或者客户成为冤家,以后不管什么事儿,都不会有任何的转圜余地,从而你以后的工作都会很难开展。
我们应该做的就是要宽容一些,人都是会犯错的,不要过分深究,可以说:“程序没事儿就好了,你测试的还是挺仔细的。”或者和客户说:“这个问题可能是当初咱们考虑得不够完备,系统暂时的实现就是这样的,如果你有好的建议还是可以告诉我的。”总之要表明自己的目的,就是要让自己的程序的质量更高,更能够为业务所服务。这样的话,我们对别人宽容,反过来别人也会对我们宽容,并且在测试和检查的时候也会更仔细,我们的程序的质量就会越来越高,一切都向着良性循环的方向发展。
最后说一句,这条原则其实不仅仅是做程序员所应该知道的,也应该是在生活中的各个方面所要做到的,让我们一起共勉。
- 软件开发-思考(摘抄)
- 软件需求工程(摘抄)
- 软件架构设计(摘抄)
- 软件开发的哲学思考(转载)
- 软件开发思考
- 软件开发 -思考
- 软件开发思考
- 软件开发工具思考
- 软件开发的哲学思考
- 软件开发的哲学思考
- 软件开发的哲学思考
- 软件开发方式的思考
- 软件开发的哲学思考
- 对软件开发的思考
- 软件开发的哲学思考
- 软件开发的哲学思考
- 软件开发的哲学思考
- 软件开发的哲学思考
- hdu 2553(N皇后问题)
- 解决 unresolved external symbol 无法解析 _send@16
- C程序设计课程-2012电子信息 第十一堂课后作业
- bellman ford 算法
- 简单实现的几个C语言<string>库函数
- 软件开发-思考(摘抄)
- Xib文件创建UITableViewCell
- Error start PowerCenter Debugger
- PHP json_encode中文乱码解决方法
- 2012蓝桥杯
- extjs学习笔记----数据的获取与ComboBox
- Android项目中导入第三方jar包
- 11g deferred_segment_creation
- left join 和 left outer join 的区别