代码测试 大学计算机老师说未来不需要程序员,都是机器自动生成代码。老师说估计20年,程序员就会被取代,现实吗?
大学计算机老师说未来不需要程序员,都是机器自动生成代码。老师说估计20年,程序员就会被取代,现实吗?
严格地说,现在机器编程已经开始取代手工编程。IBM早就推出了这样的程序,华为也一直在使用它们。只要程序员编写了流程图和框架图,后续的代码工作就会由计算机自动完成。因此,在未来,大多数草根代码程序员将被替换,只剩下那些研究新算法的高级程序员。
徒手码一千行以上的代码是种怎样的体验呢?
作为一个工作多年的老程序员,我必须回答这个问题。
我用C语言编写的第一个模拟项目使用了6000多行代码,我仍然记得它。虽然代码的质量可能不是很好,但我当时还是有成就感,觉得自己像个程序员。
尽管现在可以使用许多辅助编程工具,这些工具确实可以提高编程效率。虽然我每天都在使用这些工具,但我总是认为能用记事本写程序的人是真正的程序员。
也许这些正在学习编程的潜在程序员现在用集成工具完成了他们的第一个HelloWorld实验,但我使用记事本来配置环境变量。
我记得当我在做Java编程时,我使用EDITPLUS已经两年多了。几乎所有的代码都是手工编码的。
使用EDITPLUS编写代码的特点是记住所有细节。例如,如果您编写一个servlet,您需要知道servlet继承了httpservlet,您需要自己编写doget方法,您需要知道doget方法中的参数是什么,您需要自己进行异常处理。在编写servlet和JavaBean之后,您需要自己编写它们网站.xml配置文件,您需要知道配置文件的元素、每个元素的含义、如何设置等等。在最初的java项目中,我手工编写了所有JSP文件。现在我觉得这太疯狂了。
没有工具的帮助编程可以真正锻炼自己的编程能力,但是现在的开发已经走过了那个时代,有了工具,当然也很方便,但是工具的使用也要注意代码的细节。
自动化测试,失败的案例比成功的案例要多的多,那为什么我们还要坚持自动化?
“自动化测试更多失败案例”是一个值得思考的现象。大多数原因是缺乏对自动化本身的理解。在认识不足的前提下,很难保证自动化的效果。
在一些项目实现自动化之前,没有对自动化的可行性进行有效的预研究,也没有有效的框架、工具选择或与业务对象相结合的设计。
目前,随着自动化框架和工具的发展,自动化不是一个是否可以实现的问题,而是一个是否应该实现的问题。如果在进行自动化测试之后,仍然没有后续计划,为什么还要这样做?你不知道做完后该怎么办。因此,自动化的宏观意义在于进行自动化测试,以便做更多有价值的测试(甚至补充其他手工测试)。这样,可以驱动的自动化将一直被使用。
此外,自动化本身就是一把双刃剑。这是一个我们是否考虑过对于上面提到的什么样的业务对象采用什么样的框架和工具的问题。自动化本身的痛点包括开发成本和维护成本。后者更为重要。难以维护和扩展的自动化很难继续下去。
为什么要坚持自动化?事实上,我并没有坚持要这么做。我必须这么做。这种自动化不是为了自动化吗?自动化的目的是完成自动化?这些都不可取。
另外,作为测试人员,随着软件技术的发展和应用,传统的手工测试方法越来越难以满足测试要求,因此测试开发能力非常重要,也是测试行业未来发展的基本能力。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。