从Unix到Linux的迁移部署:移植、升级和测试

从Unix迁移到Linux,在最初阶段,应该建立一个沙盘环境用于测试。也许您的整个团队都没有Linux方面的经验,有这样一个沙盘环境能帮上大忙(无需担心任何风险)。

  有关代码和编译的问题。你正在使用JAVA还是C?是否有第三方应用需要迁移?这些第三方软件能移植到Linux上吗?

  假设您正在使用C语言。假设您将会在Linux上编译代码。如果使用GNU(gcc)编译器,因为这是工业标准,而且这是Linux自己的编译器。那么所有在其它平台上编译过的应用程序都需要重新编译。

  对于编译,有两种方法供您使用。一个方法是在现有环境上重新编译您的程序,这种情况下,您必须确保在这个环境下有您需要的所有工具,其中包括源代码和生成文件。如果您想使用这个方法,请在您的测试环境中进行,永远不要在生产环境中实施。

  另一种方法是把所有数据和代码移植到新环境上,并且测试他们。同时,要测试一下硬件平台。如果您计划更新硬件平台,一些有关硬件的代码可能会给你制造些麻烦,最糟糕的情况是,您可能不得不重写所有代码。

  确保开发人员参与进来,不要假设任何事情。需要认真考虑的事情包括运行时API、系统调用、流和库的支持。确保您完全理解所要移植的内容。这时候你需要评估和核实所有的事情,如应用程序及其库文件和依赖性。您能快速确定产品是否能在Linux上运行和在哪里运行。

  毫无疑问,Java程序比C语言程序能更快地移植。此外,在移植过程中,您还需要核实测试环境、用户界面需求、平台可靠性限制、中间件产品和内部技能水平。每一个环境不仔细都可能在未来给您带来麻烦。

  应用程序升级

  应用程序是移植过程中最重要的一块。在某些情况下,您的应用程序可以直接被移植,但是这种情况很少发生。另一种情况是,您必须在新平台上重新编译它们。移植和编译过程都不复杂,然后需要做的就是测试以确认一切OK。

  应用程序的移植过程应该包括开发和测试。在进行移植的时候,您必须有可靠的办法来保证您的数据库正确移植。另外,应用程序所要求的内核扩展和准备驱动,在新的平台上并不一定能够得到满足,因为大多数的内核API并不严格遵循标准。

  应用程序是否正在使用第三方组件,如数据库工具、应用服务器或其它中间件呢?如果是,这会增加移植的复杂性。应用程序是32位还是64位?如果是从32位移植到64为,您将不得不付出更多的时间。应用程序如何和数据库通信呢?它们使用数据库接口吗,如ODBC或者编程语言,如C++?这些方面您都需要认真考虑。从人工的角度来讲,尽可能的让那些有各种移植项目经历的人加入您的团队。

  稳定性和性能评测

  通常在最初的几周内,各种应用程序问题会陆续出现,工程师们会第一时间想办法来解决它们。这时候您可能想重新审视您的项目计划并调整交货时间。

  测试应用的稳定、功能和性能非常关键。与其花费200万美元开发新系统,还不如花费2000美元测试。测试的顺序通常如下:

  迁移工程师对于需要移植的应用程序进行模块测试。

  应用工程师执行功能性测试。

  用户验收测试(UAT)。该阶段实际的商业用户进行测试。

  性能工程师进行性能测试。

  在测试过程中,对要迁移的应用程序进行压力测试不可缺少,这样能确保新系统能够应付各种负载。此时,您应该已经完成了基本的测试,并且对于旧环境和新环下的应用程序性能,您该心中有数。

  对于稳定性和性能,也需要进行类似的测试。尝试击败你的系统。使用诸如惠普LoadRunner等工具来模拟正常量5倍的负载。

  现在是时候来发现Bug了,当然这不是在生产环境上。在进入生产环境之前,您就有机会调试问题。利用测试,不要让使用系统的人来核实是否有问题。业务内容也必须涉及,而且应该有独立的UAT计划。如果您的系统在旧环境上有很高的可用性,那么在新环境下,必须测试高可用性是否继续有效。

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-10-21 10:53:08

从Unix到Linux的迁移部署:移植、升级和测试的相关文章

Nginx 在centos linux 安装、部署完整步骤并测试通过

需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩. 1.选定源码目录 选定目录 /usr/local/   cd /usr/local/ 2.安装PCRE库 cd /usr/local/ wget http://exim.mirror.fr/pcre/pcre-8.02.tar.gz tar -zxvf pcre-8.02.tar.gz cd pcre-8.02 ./configure && make  && make install   3.

Unix与Linux的区别和联系

区别和联系 Linux和UNIX的最大的区别是,前者是开发源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件.这应该是他们最大的不同,这种不同体现在用户对前者有很高的自主权,而对后者却只能去被动的适应:这种不同还表现在前者的开发是处在一个完全开放的环境之中,而后者的开发完全是处在一个黑箱之中,只有相关的开发人员才能够接触的产品的原型. Linux 的源头要追溯到最古老的UNIX.1969年,Bell实验室的Ken Thompson开始利用一台闲置的 PDP-7计算机开发了一种多用户

Unix和Linux下C语言学习指南

尽管 C 语言问世已近 30 年,但它的魅力仍未减退.C 语言继续吸引着众多的开发者,他们为了编写.移植或维护应用程序而必须学习新技能. 本文是为了满足对C语言初学者或想提高自身C语言修为的开发人员的需要而写的.希望对您的学习和工作有所帮助.您也许不赞同其中的某些方法,但我们希望您会喜欢其中的一些. 本文不介绍作为一个程序员应掌握得语言细节,而是与初学者分享自己的UNIX 下C语言编程学习经验;也不说明一个合格的编程人员应该掌握的计算机知识,比如:操作系统.数据结构与算法.数据库等等. 不管您出

我用.net 开发的框架、网站在 linux下全部移植编译调试测试完毕,非常爽!

问题描述 我用.net开发的框架.网站在linux下全部移植编译调试测试完毕,非常爽!我快爽晕了,哈哈!特提供一个典型的测试网站供大家观摩http://wwww.bwsyq.com看清楚是4个w啊不能访问可以通过下面的地址进行访问由于是测试,所以用的是ADSL,IP地址经常变化,域名不能用可参考下面提供的最新的IP地址!用的是我的笔记本,带宽只有2MB!部署环境ubuntu10.10+mysql5.1+apache2+mono2.67开发环境ubuntu10.10+mono2.67+mono-d

一段关于 Unix、Linux 和 Windows 的暗黑史

"SCO在言语上变得越来越好斗,而且还拒绝展示有关诉讼的任何证据,一切都似乎在表明,SCO只不过是在那里拉虎皮做大旗地狂言乱语.但是,微软 决不会轻易放弃这么可以一个利用这些狂言乱语的好机会."2003年,<向Linux发起"恐惧战"?>的作者布鲁斯·佩伦斯这样评价SCO. 事情缘起是这样:当年3月,自称Unix操作系统的拥有者SCO公司对IBM提出了10亿美元的起诉,称IBM在开放源代码的Linux中泄露了商业秘密. Unix与Linux,SCO与IB

嵌入式arm linux蓝牙文件传输移植

嵌入式arm linux蓝牙文件传输移植目前,蓝牙技术已经比较成熟,特别是基于手机和PC得蓝牙文件传输. 本文主要讲述基于嵌入式arm linux的蓝牙文件传输.    现行2.6.x的linux内核都已经集成了bluez蓝牙驱动,对于2.4版本内核的需要到bluez官方网站下载并安装bluez蓝牙驱动.http://www.bluez.org/download/    本为基于2.6版本的内核讲述.对于2.4下载bluez后安装即可.有了bluez蓝牙驱动还需要安装bluez-libs库和bl

求大神-Unix或者Linux备份数据到U盘

问题描述 Unix或者Linux备份数据到U盘 Unix和Linux系统中备份数据到U盘,会先格式化U盘再备份数据吗,备份出来的数据能够在普通的电脑上直接读取吗? 解决方案 看什么发行版.像Ubuntu支持U盘通常所用的FAT32和FAT32EX分区,那么无需重新格式化,也可以在Win98以上的系统读取. 解决方案二: 那些罕见的精简的发行版就不好说了,它们甚至可能连中文文件名都不支持. 但是可以肯定,MacOSX.Ubuntu.CentOS.手机上用的Android都没问题. 解决方案三: U

linux服务器-linux环境下部署java-web项目

问题描述 linux环境下部署java-web项目 我在linux环境下部署了一个简单的java登入到界面的测试dome,但是我linux服务器的tomcat的访问路径被修改过,因此我访问不到我请求的action,求高人指教. 我本来访问的路径为192.168.110.25/login.action 现在我在toncat里面修改的访问路径之后192.168.110.25/xiaoxiao/login.action 就通过界面表单提交访问login.action是报404,找不到指定的路径! 解决

linux下tomcat部署应用后如何通过url访问文件

问题描述 linux下tomcat部署应用后如何通过url访问文件 是这样的,我的tomcat是在linux的/opt/server/tomcat这个目录下,端口9080.tomcat里部署的应用有写文件的功能,将文件写在/opt/awr/这个目录下,文件是html格式,1.html.现在我想在tomcat启动后,在浏览器里输入url就访问到这个html文件,请问该怎么办