精华内容
下载资源
问答
  • 随着网络技术的快速发展,b/s架构的系统也更加流行突出。很多从c/s架构或者没有涉及B/S开发的程序员都普遍认为Web开发只是小菜一碟,而往往带着这种思想去开发B/S架构的系统会带来很多麻烦,造成系统框架不合理、...

    <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

     

     

        随着网络技术的快速发展,b/s架构的系统也更加流行和突出。很多从c/s架构或者没有涉及B/S开发的程序员都普遍认为Web开发只是小菜一碟,而往往带着这种思想去开发B/S架构的系统会带来很多麻烦,造成系统框架不合理、系统界面丑陋无比、系统运行效率低下、系统安全性低下等一系列后遗症,对商业系统更是一种糟蹋……

     

        因此Web系统的观念需要正确对待,他已经不是单纯的一个技术系统,它涉及了html、美工(web设计)、框架设计等

     

        诚然国外有很多软件公司是数据库、系统代码、美工、网页设计等都是分工合作的,而作为目前大陆不成熟的软件作坊来说,一个程序员的能力是来自多方面的,我想更多的武装才能有更好的成就和竞争力度!

     

        以下附上一篇网友的佳作,从一个“测试”面来说明Web系统的重要性和相关知识,与大家共享

                                    

                      基于Web的系统测试方法

     

     

    摘要

     

      随着InternetIntranet/Extranet的快速增长,Web已经对商业、工业、银行、财政、教育、政府和娱乐及我们的工作和生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,电子商务迅速增长,早已超过了国界。范围广泛的、复杂的分布 式应用正在Web环境中出现。Web的流行和无所不在,是因为它能提供支持所有类型内容连接的信息发布,容易为最终用户存取。

     

      Yogesh DeshpandeSteve Hansen1998年就提出了Web工程的概念。Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统。它"使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于Web的系统"。目前,对于web工程的研究主要是在国外开展的,国内还刚刚起步。

     

      在基于Web的系统开发中,如果缺乏严格的过程,我们在开发、发布、实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于Web的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对WebInternet的信心可能会无法挽救地动摇,从而引起Web危机。并且,Web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛。

     

      在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,InternetWeb媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术。

     

      一般软件的发布周期以月或以年计算,而Web应用的发布周期以天计算甚至以小时计算。Web测试人员必须处理更短的发布周期,测试人员和测试管理人员面临着从测试传统的C/S结构和框架环境到测试快速改变的Web应用系统的转变。

     

      一、功能测试

     

      1、链接测试

     

      链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。

     

      链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。

     

      2、表单测试

     

      当用户给Web应用<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。

     

      3Cookies测试

     

      Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。

     

      如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。

     

      4、设计语言测试

     

      Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了HTML的版本问题外,不同的脚本语言,例如JavaJavaScript ActiveXVBScriptPerl等也要进行验证。

     

      5、数据库测试

     

      在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。

     

      在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。

     

     

    二、性能测试

     

      1、连接速度测试

     

      用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。

     

      另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。

     

      2、负载测试

     

      负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?

     

      3、压力测试

     

      负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。

     

      进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。

     

      压力测试的区域包括表单、登陆和其他信息传输页面等。

     

      三、可用性测试

     

      1、导航测试

     

      导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。通过考虑下列问题,可以决定一个Web应用系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?

     

      在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。

     

      导航的另一个重要方面是Web应用系统的页面结构、导航、菜单、连接的风格是否一致。确保用户凭直觉就知道Web应用系统里面是否还有内容,内容在什么地方。

     

      Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。

     

      2、图形测试

     

      在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个Web应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。图形测试的内容有:

     

      (1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。

     

      (2)验证所有页面字体的风格是否一致。

     

      (3)背景颜色应该与字体颜色和前景颜色相搭配。

     

      (4)图片的大小和质量也是一个很重要的因素,一般采用JPGGIF压缩。

     

      3、内容测试

     

      内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。

     

      信息的正确性是指信息是可靠的还是误传的。例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确性是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Microsoft Word"拼音与语法检查"功能;信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓"相关文章列表"

     

      4、整体界面测试

     

      整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方?整个Web应用系统的设计风格是否一致?

    对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。

     

      对所有的可用性测试来说,都需要有外部人员(与Web应用系统开发没有联系或联系很少的人员)的参与,最好是最终用户的参与。

     

    四、客户端兼容性测试

      1、平台测试

      市场上有很多不同的操作系统类型,最常见的有WindowsUnixMacintoshLinux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。

      因此,在Web系统发布之前,需要在各种操作系统下对Web系统进行兼容性测试。

      2、浏览器测试

      浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java,、JavaScript ActiveX plug-ins或不同的HTML规格有不同的支持。例如,ActiveXMicrosoft的产品,是为Internet Explorer而设计的,JavaScriptNetscape的产品,JavaSun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。

      测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。

      五、安全性测试

      Web应用系统的安全性测试区域主要有:

      (1)现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。

      (2Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。

      (3)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。

      (4)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。

      (5)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。

      六、总结

      本文从功能、性能、可用性、客户端兼容性、安全性等方面讨论了基于Web的系统测试方法。

      基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。

     

     

    展开全文
  • 随着网络技术的快速发展,b/s架构的系统也更加流行突出。很多从c/s架构或者没有涉及B/S开发的程序员都普遍认为Web开发只是小菜一碟,而往往带着这种思想去开发B/S架构的系统会带来很多麻烦,造成系统框架不合理、...
    随着网络技术的快速发展,b/s架构的系统也更加流行和突出。很多从c/s架构或者没有涉及B/S开发的程序员都普遍认为Web开发只是小菜一碟,而往往带着这种思想去开发B/S架构的系统会带来很多麻烦,造成系统框架不合理、系统界面丑陋无比、系统运行效率低下、系统安全性低下等一系列后遗症,对商业系统更是一种糟蹋……<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

     

        因此Web系统的观念需要正确对待,他已经不是单纯的一个技术系统,它涉及了html、美工(web设计)、框架设计等

     

        诚然国外有很多软件公司是数据库、系统代码、美工、网页设计等都是分工合作的,而作为目前大陆不成熟的软件作坊来说,一个程序员的能力是来自多方面的,我想更多的武装才能有更好的成就和竞争力度!

     

        以下附上一篇网友的佳作,从一个“测试”面来说明Web系统的重要性和相关知识,与大家共享

                                    

                      基于Web的系统测试方法

     

     

    摘要

     

      随着InternetIntranet/Extranet的快速增长,Web已经对商业、工业、银行、财政、教育、政府和娱乐及我们的工作和生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,电子商务迅速增长,早已超过了国界。范围广泛的、复杂的分布 式应用正在Web环境中出现。Web的流行和无所不在,是因为它能提供支持所有类型内容连接的信息发布,容易为最终用户存取。

     

      Yogesh DeshpandeSteve Hansen1998年就提出了Web工程的概念。Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统。它"使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于Web的系统"。目前,对于web工程的研究主要是在国外开展的,国内还刚刚起步。

     

      在基于Web的系统开发中,如果缺乏严格的过程,我们在开发、发布、实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于Web的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对WebInternet的信心可能会无法挽救地动摇,从而引起Web危机。并且,Web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛。

     

      在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,InternetWeb媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术。

     

      一般软件的发布周期以月或以年计算,而Web应用的发布周期以天计算甚至以小时计算。Web测试人员必须处理更短的发布周期,测试人员和测试管理人员面临着从测试传统的C/S结构和框架环境到测试快速改变的Web应用系统的转变。

     

      一、功能测试

     

      1、链接测试

     

      链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。

     

      链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。

     

      2、表单测试

     

      当用户给Web应用<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。

     

      3Cookies测试

     

      Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。

     

      如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。

     

      4、设计语言测试

     

      Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了HTML的版本问题外,不同的脚本语言,例如JavaJavaScript ActiveXVBScriptPerl等也要进行验证。

     

      5、数据库测试

     

      在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。

     

      在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。

     

     

    二、性能测试

     

      1、连接速度测试

     

      用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。

     

      另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。

     

      2、负载测试

     

      负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?

     

      3、压力测试

     

      负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。

     

      进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。

     

      压力测试的区域包括表单、登陆和其他信息传输页面等。

     

      三、可用性测试

     

      1、导航测试

     

      导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。通过考虑下列问题,可以决定一个Web应用系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?

     

      在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。

     

      导航的另一个重要方面是Web应用系统的页面结构、导航、菜单、连接的风格是否一致。确保用户凭直觉就知道Web应用系统里面是否还有内容,内容在什么地方。

     

      Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。

     

      2、图形测试

     

      在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个Web应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。图形测试的内容有:

     

      (1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。

     

      (2)验证所有页面字体的风格是否一致。

     

      (3)背景颜色应该与字体颜色和前景颜色相搭配。

     

      (4)图片的大小和质量也是一个很重要的因素,一般采用JPGGIF压缩。

     

      3、内容测试

     

      内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。

     

      信息的正确性是指信息是可靠的还是误传的。例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确性是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Microsoft Word"拼音与语法检查"功能;信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓"相关文章列表"

     

      4、整体界面测试

     

      整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方?整个Web应用系统的设计风格是否一致?

    对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。

     

      对所有的可用性测试来说,都需要有外部人员(与Web应用系统开发没有联系或联系很少的人员)的参与,最好是最终用户的参与。

     

    四、客户端兼容性测试

      1、平台测试

      市场上有很多不同的操作系统类型,最常见的有WindowsUnixMacintoshLinux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。

      因此,在Web系统发布之前,需要在各种操作系统下对Web系统进行兼容性测试。

      2、浏览器测试

      浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java,、JavaScript ActiveX plug-ins或不同的HTML规格有不同的支持。例如,ActiveXMicrosoft的产品,是为Internet Explorer而设计的,JavaScriptNetscape的产品,JavaSun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。

      测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。

      五、安全性测试

      Web应用系统的安全性测试区域主要有:

      (1)现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。

      (2Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。

      (3)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。

      (4)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。

      (5)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。

      六、总结

      本文从功能、性能、可用性、客户端兼容性、安全性等方面讨论了基于Web的系统测试方法。

      基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。

    展开全文
  • 嵌入式开发的定义和发展

    千次阅读 2009-03-03 20:30:00
    近来在网上QQ中大家对嵌入式开发的讨论关注越来越多,我也对嵌入式开发非常有兴趣,嵌入式开发在未来的几年中发展可谓是无可限量,嵌入式开发人才也必将成为未来几年的“香勃勃”,特别是我国进入3G时代之后,...

    近来在网上和QQ中大家对嵌入式开发的讨论和关注越来越多,我也对嵌入式开发非常有兴趣,嵌入式开发在未来的几年中发展可谓是无可限量,嵌入式开发人才也必将成为未来几年的“香勃勃”,特别是我国进入3G时代之后,嵌入式开发的应用将更加的广泛,嵌入式开发也必将由原来的对我们而言的神秘走向人尽皆知。作为两大现在计算机技术的两大分支之一的嵌入式计算机系统并不像通用计算机那样为世人所了解,到现在为止“嵌入式系统”的概念还不为多数人所知,嵌入式开发技术也只为极少数人掌握。而在未来的几年内这一现象将有很大改变,随着科学技术的发展,以及人们需求的增加,嵌入式开发快速发展的时刻已经到来。

    据统计我国未来几年对嵌入式开发人才的需求缺口每年为50万人左右,随着其应用范围的扩大,相信这个缺口额将会继续增加。在人们的生活中嵌入式系统无处不在。从日常使用的手机、MP3到复杂的航天飞机、导弹系统,都离不开嵌入式微处理器。在一辆轿车中,就可能集合了十几个嵌入式系统。嵌入式系统的核心是微处理器,不同于计算机的是,嵌入式系统将微处理器嵌入到特定的控制对象中,以操作电子元件执行相应的任务,方便人们的生活。

    很多人包括本人在内对嵌入式系统的了解都限在字面上,对其无一点深层了解。下面是我在网上找到的一些关于嵌入式开发的发展史和它的定义,希望大家在看后能对嵌入式开发有更好的了解。

    一、现代计算机的技术发展史

    1.始于微型机时代的嵌入式应用

    电子数字计算机诞生于1946年,在其后漫长的历史进程中,计算机始终是供养在特殊的机房中,实现数值计算的大型昂贵设备。直到20世纪70年代,微处理器的出现,计算机才出现了历史性的变化。以微处理器为核心的微型计算机以其小型、价廉、高可靠性特点,迅速走出机房;基于高速数值解算能力的微型机,表现出的智能化水平引起了控制专业人士的兴趣,要求将微型机嵌入到一个对象体系中,实现对象体系的智能化控制。例如,将微型计算机经电气加固、机械加固,并配置各种外围接口电路,安装到大型舰船中构成自动驾驶仪或轮机状态监测系统。这样一来,计算机便失去了原来的形态与通用的计算机功能。为了区别于原有的通用计算机系统,把嵌入到对象体系中,实现对象体系智能化控制的计算机,称作嵌入式计算机系统。因此,嵌入式系统诞生于微型机时代,嵌入式系统的嵌入性本质是将一个计算机嵌入到一个对象体系中去,这些是理解嵌入式系统的基本出发点。

    2.现代计算机技术的两大分支

    由于嵌入式计算机系统要嵌入到对象体系中,实现的是对象的智能化控制,因此,它有着与通用计算机系统完全不同的技术要求与技术发展方向。通用计算机系统的技术要求是高速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大。而嵌入式计算机系统的技术要求则是对象的智能化控制能力;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。

    早期,人们勉为其难地将通用计算机系统进行改装,在大型设备中实现嵌入式应用。然而,对于众多的对象系统(如家用电器、仪器仪表、工控单元……),无法嵌入通用计算机系统,况且嵌入式系统与通用计算机系统的技术发展方向完全不同,因此,必须独立地发展通用计算机系统与嵌入式计算机系统,这就形成了现代计算机技术发展的两大分支。

    如果说微型机的出现,使计算机进入到现代计算机发展阶段,那么嵌入式计算机系统的诞生,则标志了计算机进入了通用计算机系统与嵌入式计算机系统两大分支并行发展时代,从而导致20世纪末,计算机的高速发展时期。

    3.两大分支发展的里程碑事件

    通用计算机系统与嵌入式计算机系统的专业化分工发展,导致20世纪末、21世纪初,计算机技术的飞速发展。计算机专业领域集中精力发展通用计算机系统的软、硬件技术,不必兼顾嵌入式应用要求,通用微处理器迅速从286、386、486到奔腾系列;操作系统则迅速扩张计算机基于高速海量的数据文件处理能力,使通用计算机系统进入到尽善尽美阶段。

    嵌入式计算机系统则走上了一条完全不同的道路,这条独立发展的道路就是单芯片化道路。它动员了原有的传统电子系统领域的厂家与专业人士,接过起源于计算机领域的嵌入式系统,承担起发展与普及嵌入式系统的历史任务,迅速地将传统的电子系统发展到智能化的现代电子系统时代。

    因此,现代计算机技术发展的两大分支的里程碑意义在于:它不仅形成了计算机发展的专业化分工,而且将发展计算机技术的任务扩展到传统的电子系统领域,使计算机成为进入人类社会全面智能化时代的有力工具。

    二、嵌入式系统的定义与特点

    如果我们了解了嵌入式(计算机)系统的由来与发展,对嵌入式系统就不会产生过多的误解,而能历史地、本质地、普遍适用地定义嵌入式系统。

    1.嵌入式系统的定义

    按照历史性、本质性、普遍性要求,嵌入式系统应定义为:“嵌入到对象体系中的专用计算机系统”。“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。对象系统则是指嵌入式系统所嵌入的宿主系统。

    2.嵌入式系统的特点

    嵌入式系统的特点与定义不同,它是由定义中的三个基本要素衍生出来的。不同的嵌入式系统其特点会有所差异。与“嵌入性”的相关特点:由于是嵌入到对象系统中,必须满足对象系统的环境要求,如物理环境(小型)、电气/气氛环境(可靠)、成本(价廉)等要求。与“专用性”的相关特点:软、硬件的裁剪性;满足对象要求的最小软、硬件配置等。与“计算机系统”的相关特点:嵌入式系统必须是能满足对象系统控制要求的计算机系统。与上两个特点相呼应,这样的计算机必须配置有与对象系统相适应的接口电路。

    另外,在理解嵌入式系统定义时,不要与嵌入式设备相混淆。嵌入式设备是指内部有嵌入式系统的产品、设备,例如,内含单片机的家用电器、仪器仪表、工控单元、机器人、手机、PDA等。

    3.嵌入式系统的种类与发展

    按照上述嵌入式系统的定义,只要满足定义中三要素的计算机系统,都可称为嵌入式系统。嵌入式系统按形态可分为设备级(工控机)、板级(单板、模块)、芯片级(MCU、SoC)。

    有些人把嵌入式处理器当作嵌入式系统,但由于嵌入式系统是一个嵌入式计算机系统,因此,只有将嵌入式处理器构成一个计算机系统,并作为嵌入式应用时,这样的计算机系统才可称作嵌入式系统。

    嵌入式系统与对象系统密切相关,其主要技术发展方向是满足嵌入式应用要求,不断扩展对象系统要求的外围电路(如ADC、DAC、PWM、日历时钟、电源监测、程序运行监测电路等),形成满足对象系统要求的应用系统。因此,嵌入式系统作为一个专用计算机系统,要不断向计算机应用系统发展。因此,可以把定义中的专用计算机系统引伸成,满足对象系统要求的计算机应用系统。

    三、嵌入式系统的独立发展道路

    1.单片机开创了嵌入式系统独立发展道路

    嵌入式系统虽然起源于微型计算机时代,然而,微型计算机的体积、价位、可靠性都无法满足广大对象系统的嵌入式应用要求,因此,嵌入式系统必须走独立发展道路。这条道路就是芯片化道路。将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。

    在探索单片机的发展道路时,有过两种模式,即“Σ模式”与“创新模式”。“Σ模式”本质上是通用计算机直接芯片化的模式,它将通用计算机系统中的基本单元进行裁剪后,集成在一个芯片上,构成单片微型计算机;“创新模式”则完全按嵌入式应用要求设计全新的,满足嵌入式应用要求的体系结构、微处理器、指令系统、总线方式、管理模式等。Intel公司的MCS-48、MCS-51就是按照创新模式发展起来的单片形态的嵌入式系统(单片微型计算机)。MCS-51是在MCS-48探索基础上,进行全面完善的嵌入式系统。历史证明,“创新模式”是嵌入式系统独立发展的正确道路,MCS-51的体系结构也因此成为单片嵌入式系统的典型结构体系。

    2.单片机的技术发展史

    单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。

    1.SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。

    2.MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。

    Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。

    3.单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。

     四、嵌入式系统的两种应用模式

    嵌入式系统的嵌入式应用特点,决定了它的多学科交叉特点。作为计算机的内含,要求计算机领域人员介入其体系结构、软件技术、工程应用方面的研究。然而,了解对象系统的控制要求,实现系统控制模式必须具备对象领域的专业知识。因此,从嵌入式系统发展的历史过程,以及嵌入式应用的多样性中,可以了解到客观上形成的两种应用模式。

    1.客观存在的两种应用模式

    嵌入式计算机系统起源于微型机时代,但很快就进入到独立发展的单片机时代。在单片机时代,嵌入式系统以器件形态迅速进入到传统电子技术领域中,以电子技术应用工程师为主体,实现传统电子系统的智能化,而计算机专业队伍并没有真正进入单片机应用领域。因此,电子技术应用工程师以自己习惯性的电子技术应用模式,从事单片机的应用开发。这种应用模式最重要的特点是:软、硬件的底层性和随意性;对象系统专业技术的密切相关性;缺少计算机工程设计方法。

    虽然在单片机时代,计算机专业淡出了嵌入式系统领域,但随着后PC时代的到来,网络、通信技术得以发展;同时,嵌入式系统软、硬件技术有了很大的提升,为计算机专业人士介入嵌入式系统应用开辟了广阔天地。计算机专业人士的介入,形成的计算机应用模式带有明显的计算机的工程应用特点,即基于嵌入式系统软、硬件平台,以网络、通信为主的非嵌入式底层应用。

    2.两种应用模式的并存与互补

    由于嵌入式系统最大、最广、最底层的应用是传统电子技术领域的智能化改造,因此,以通晓对象专业的电子技术队伍为主,用最少的嵌入式系统软、硬件开销,以8位机为主,带有浓重的电子系统设计色彩的电子系统应用模式会长期存在下去。

    另外,计算机专业人士会愈来愈多地介入嵌入式系统应用,但囿于对象专业知识的隔阂,其应用领域会集中在网络、通信、多媒体、商务电子等方面,不可能替代原来电子工程师在控制、仪器仪表、机械电子等方面的嵌入式应用。因此,客观存在的两种应用模式会长期并存下去,在不同的领域中相互补充。电子系统设计模式应从计算机应用设计模式中,学习计算机工程方法和嵌入式系统软件技术;计算机应用设计模式应从电子系统设计模式中,了解嵌入式系统应用的电路系统特性、基本的外围电路设计方法和对象系统的基本要求等。

    3.嵌入式系统应用的高低端

    由于嵌入式系统有过很长的一段单片机的独立发展道路,大多是基于8位单片机,实现最底层的嵌入式系统应用,带有明显的电子系统设计模式特点。大多数从事单片机应用开发人员,都是对象系统领域中的电子系统工程师,加之单片机的出现,立即脱离了计算机专业领域,以“智能化”器件身份进入电子系统领域,没有带入“嵌入式系统”概念。因此,不少从事单片机应用的人,不了解单片机与嵌入式系统的关系,在谈到“嵌入式系统”领域时,往往理解成计算机专业领域的,基于32位嵌入式处理器,从事网络、通信、多媒体等的应用。这样,“单片机”与“嵌入式系统”形成了嵌入式系统中常见的两个独立的名词。但由于“单片机”是典型的、独立发展起来的嵌入式系统,从学科建设的角度出发,应该把它统一成“嵌入式系统”。考虑到原来单片机的电子系统底层应用特点,可以把嵌入式系统应用分成高端与低端,把原来的单片机应用理解成嵌入式系统的低端应用,含义为它的底层性以及与对象系统的紧耦合。

     

    目前嵌入式系统除了部分为32 位处理器外,大量存在的是8 位和16 位的嵌入式微控制器(MCU) ,嵌入式系统是计算机应用的另一种形态,正如前所述它与通用计算机应用不同:嵌入式计算机是以嵌入式系统的形式隐藏在各种装置、产品和系统之中的一种软硬件高度专业化的特定计算机系统。目前根据其发展现状,嵌入式计算机可以分成下面几类:

    (1) 嵌入式微处理器(Embedded MicroprocessorUnit , EMPU)

    嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。

    (2) 嵌入式微控制器(Microcontroller Unit , MCU)

    嵌入式微控制器又称单片机。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROMPEPROM、RAM、总线、总线逻辑、定时P计数器、WatchDog、IPO、串行口、脉宽调制输出、APD、DPA、Flash RAM、E2PROM 等各种必要功能和外设。为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。这样可以使单片机最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本。和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。

    (3) 嵌入式DSP 处理器( Embedded Digital SignalProcessor , EDSP)

    DSP 处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP 算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等方面DSP 算法正在大量进入嵌入式领域,DSP 应用正从在通用单片机中以普通指令实现DSP 功能,过渡到采用嵌入式DSP 处理器。

    (4) 嵌入式片上系统(System On Chip)

    随着EDI 的推广和VLSI 设计的普及化,及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临, 这就是System On Chip(SOC) 。各种通用处理器内核将作为SOC 设计公司的标准库,和许多其它嵌入式系统外设一样,成为VLSI 设计中一种标准的器件,用标准的VHDL 等语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。

    2 嵌入式系统工业的特点

    (1) 嵌入式系统工业是不可垄断的高度分散的工业

    从某种意义上来说,通用计算机行业的技术是垄断的。占整个计算机行业90 %的PC 产业,80 %采用Intel 的8x86 体系结构,芯片基本上出自Intel ,AMD ,Cyrix 等几家公司。在几乎每台计算机必备的操作系统和文字处理器方面,Microsoft 的Windows 及Word 占80 - 90 % ,凭借操作系统还可以搭配其它应用程序。因此当代的通用计算机工业的基础被认为是由Wintel (Microsoft 和Intel 90 年代初建立的联盟)垄断的工业。

    嵌入式系统则不同,它是一个分散的工业,充满了竞争、机遇与创新,没有哪一个系列的处理器和操作系统能够垄断全部市场。即便在体系结构上存在着主流,但各不相同的应用领域决定了不可能有少数公司、少数产品垄断全部市场。因此嵌入式系统领域的产品和技术,必然是高度分散的,留给各个行业的中小规模高技术公司的创新余地很大。另外,社会上的各个应用领域是在不断向前发展的,要求其中的嵌入式处理器核心也同步发展,这也构成了推动嵌入式工业发展的强大动力。

    器件是嵌入式系统产业的根本,嵌入式系统工业的基础就是以应用为中心的“芯片”设计技术和面向应用的软件产品开发技术。

    (2) 嵌入式系统具有的产品特征

    嵌入式系统是面向用户、面向产品、面向应用的,如果独立于应用自行发展,则会失去市场。嵌入式处理器的功耗、体积、成本、可靠性、速度、处理能力、电磁兼容性等方面均受到应用要求的制约,这些也是各个半导体厂商之间竞争的热点。

    和通用计算机不同,嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用对处理器的选择面前更具有竞争力。嵌入式处理器要针对用户的具体需求,对芯片配置进行裁剪和添加才能达到理想的性能;但同时还受用户订货量的制约。因此不同的处理器面向的用户是不一样的,可能是一般用户,行业用户或单一用户。

    嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。嵌入式系统中的软件,一般都固化在只读存储器中,而不是以磁盘为载体,可随意更换,所以嵌入式系统的应用软件生命周期也和嵌入式产品一样长。另外,各个行业的应用系统和产品,和通用计算机软件不同,很少发生突然性跳跃,嵌入式系统中的软件也因此更强调可继承性和技术衔接性,发展比较稳定。

    嵌入式处理器的发展也体现出稳定性,一个体系一般要存在8 - 10 年的时间。一个体系结构及其相关的片上外设、开发工具、库函数、嵌入式应用产品是一套复杂的知识系统,用户和半导体厂商都不会轻易地放弃一种处理器。

    (3) 嵌入式系统软件的特征

    嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器系统软件和应用软件的要求也和通用计算机有所不同。

    ①软件要求固态化存储
    为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。
    ②软件代码高质量、高可靠性
    尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工具的质量要高,以减少程序二进制代码长度、提高执行速度。
    ③系统软件(OS) 的高实时性是基本要求
    多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的实时性是基本要求。
    ④多任务操作系统是知识集成的平台和走向工业标准化道路的基础

    (4) 嵌入式系统开发需要开发工具和环境

    通用计算机具有完善的人机接口界面,在上面增加一些开发应用程序和环境即可进行对自身的开发。而嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。

    (5) 嵌入式系统软件需要RTOS 开发平台

    通用计算机具有完善的操作系统和应用程序接口(API) ,是计算机基本组成不可分离的一部分,应用程序的开发以及完成后的软件都在操作系统(OS) 平台上面运行,但一般不是实时的。嵌入式系统则不同,应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS 开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。

    (6) 嵌入式系统开发人员以应用专家为主

    通用计算机的开发人员一般是计算机科学或计算机工程方面的专业人士,而嵌入式系统则是要和各个不同行业的应用相结合的,要求更多的计算机以外的专业知识,其开发人员往往是各个应用领域的专家。因此开发工具的易学、易用、可靠、高效是基本要求。

    前景
    3 嵌入式系统的应用前景

    嵌入式控制器的应用几乎无处不在:移动电话、家用电器、汽车……无不有它的踪影。嵌入控制器因其体积小、可靠性高、功能强、灵活方便等许多优点,其应用已深入到工业、农业、教育、国防、科研以及日常生活等各个领域,对各行各业的技术改造、产品更新换代、加速自动化化进程、提高生产率等方面起到了极其重要的推动作用。

    嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外部设备中就包含了5 - 10 个嵌入式微处理器。在制造工业、过程控制、网络、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。

    嵌入式系统工业是专用计算机工业,其目的就是要把一切变得更简单、更方便、更普遍、更适用;通用计算机的发展变为功能电脑,普遍进入社会,嵌入式计算机发展的目标是专用电脑,实现“普遍化计算”,因此可以称嵌入式智能芯片是构成未来世界的“数字基因”。正如我国资深嵌入式系统专家—沈绪榜院士的预言, “未来十年将会产生头大小、具有超过一亿次运算能力的嵌入式智能芯片”,将为我们提供无限的创造空间。总之“嵌入式微控制器或者说单片机好象是一个黑洞,会把当今很多技术和成果吸引进来。中国应当注意发展智力密集型产业”。
    上面的部分内容为本人在网上搜索得到,希望能对那些对嵌入式系统感兴趣,并想对其有所了解的朋友有所帮助。

    展开全文
  • 软件开发工具(五)——开发发展

    千次阅读 热门讨论 2015-08-05 17:54:48
     从前面我们从理论技术方面了解了软件开发工具,现在我们一起总结总结生活中实 际的、使用者与购买这较多讨论,比如首先是购买商品化的软件开发工具还是自己研发 专用的工具呢?他的历史发展、现在的发展方向并...
    
    



                软件开发工具(五)—开发与发展




      从前面我们从理论和技术方面了解了软件开发工具,现在我们一起总结总结生活中实

    际的、使用者与购买这较多讨论,比如首先是购买商品化的软件开发工具还是自己研发

    专用的工具呢?他的历史发展、现在的发展方向并结合Eclipse工作台来详细了解。




                        一、使用与开发:





      

    1、开发还是购买权衡:



    1)软件开发工作性质与要求(一般是小购,大自研发)


    2)开发人员实际需要


    3)工作环境


    4)人员因素




    2、选买之前为何要设明确、有限目标?

     

    在选择与购置软件开发工具时,最最重要的就是设置有限的、现实的目标。

    1)为什么软件项目使用

    2)那个阶段用

    3)哪些人用

    4)软、硬件要求


    3、软件开发工具市场调查内容:


    (1)功能(2)性能(3)用的开发方法、理论(4)文档资料全否(5)运行环境(6)

    服务、培训条件(7)价格




    4、买软开工具步骤:

    1)了解目的、需求


    2)明确买软开工具环境与限制


    3)市场调查


    4)几个软件进行对比


    5)测试、检查


    6)正式签购


    7)安装试用




    5、用好软开工具条件:



    管理:1)严格照使用制度2)记录使用过程3)培训人员4)经常审计与评价


    试用审计;系统运行状况及效率进行检测、评价。




    6、自发研制软开工具注意:

    1)从实际出发:设定现实、有限目标


    2)坚持短小实用,逐步记录


    3)文档齐全





                           二、发 展



                                                 




    1、一体化:设计阶段,分析方法独立平台工具




    2、方向:1)智能化,2)网络化(Java,Html),3)一体化,4)标准化


    历史发展:多样化、趋同化





    3、IDE集成开发环境:提供程序开发环境的应用程序,一般包括代码编辑器、编译器、

    调试器和图形用户界面工具我们常见的有Visual Studio 和Eclipse。Eclipse 是一个开

    放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服

    务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,

    包括Java开发工具(Java Development Kit,JDK)。



                      

                      三、实例Eclipse
     

    1、具体的组成;

      




    2、Eclipse工作台:(workbench)高级用户界面框架,它为用户提供一个整体架构、

    可扩展的界面。




    3、对比


       Eclipse与Visual Studio 相比,Eclipse“大平台、小核心、多插件”特点显得更富

    有灵活性。




      工作空间(以项目为单位组织文件和目录):用户在计算机磁盘上画出的一块区

    域,存用户工作资料和代码、配置信息。










    展开全文
  • 关键是缺少合适的开发人员,也就是说我们并不缺少开发人员,而是确认高级或者说专业的人员,从而使我们的整体人力优势无法体现出来,在这里说一下我自己在工作期间对软件开发人员的发展过程的一些感受体会。...
  • 但是作为我来说,也许我更想把这个标题作为一个疑问句来使用,整理一下自己的认识,用来勉励自己,大家一起努力实现这个目标。认识肤浅的地方,还请大家见谅。 从事嵌入式开发是当下比较热门的一个领域,做职业...
  • 随着移动设备的不断普及和发展,相关软件的开发也越来越受到人们的关注,其中要提及的就是Android开发。本系列博客主要为大家介绍Android的开发,可能会有人问:现在互联网上已经有很多的Android的技术博客,有很多...
  • 第1部分 重新认识C语言C语言的发展历史主要特点 作为一门众所周知的计算机编程语言,C语言是谁发明的呢?它是如何演进的?它有何特点?到底有多少人在使用它?1. C语言之父 C语言是1972年由美国贝尔实验室的...
  • 关键是缺少合适的开发人员,也就是说我们并不缺少开发人员,而是确认高级或者说专业的人员,从而使我们的整体人力优势无法体现出来,在这里说一下我自己在工作期间对软件开发人员的发展过程的一些感受体会。...
  • 安卓开发工程师职业发展规划

    千次阅读 2017-12-28 09:21:28
    Android安卓移动开发工程师职业规划图,包括安卓开发发展晋升路线(技术专精技术转产品两条晋升路线)
  • Web开发技术发展历程

    千次阅读 2017-02-09 18:05:50
    Web开发技术发展历程 互联网就是指通过TCP/IP协议族互相连接在一起的计算机网络。而Web是运行在互联网上的一个超大规模的分布式系统。 Web设计初衷是一个静态信息资源发布媒介,通过超文本标记语言(HTML)描述信息...
  • 拼音输入法开发团队大比拼未来发展大预测

    千次阅读 热门讨论 2007-04-04 21:20:00
    应该说,在输入法方面,我算是最接近技术人员的一人。...而今天google输入法的主要负责人洪锋的沟通,让我对几个主要的拼音输入法开发团队有了比较深刻的理解。 下面,让我简单比较一下这几个团队的情况 1.人数: 
  • 计科专业毕业从事软件开发,也有硬件工程师打交道,从人员数量相比硬件工程师软件工程师无法比较。毕竟硬件主要在开始阶段,一旦可以用了后续人手会少许多,其实单纯的比较软件硬件没有多大的意义,任何一种...
  • 近年来,以复用技术、组件、构件、快速开发为特征的快速开发平台,已成为当前软件产业的热门需求和发展趋势。因此,众多专家业内人士不断强调,应该大力发展以复用技术、组件、构件为特征的中间件,尤其是快速开发...
  • 安卓APP开发发展趋势与前景

    万次阅读 2018-01-06 17:31:00
    安卓(Android)是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动终端设备,如市场上的智能手机IPAI平板电脑,由Google公司开放手机联盟领导及开发。...下面,小编将谈谈安卓APP开发发展
  • 对于软件开发,我经常会印刷术进行类比,从印刷术的发展中,也许可以得到对软件开发的一些有价值的思路。印刷从刚开始的手抄,后来技术进步了,到石碑印刷,雕版印刷,提高复用性。在到后来的活字印刷术,再到现代...
  • 未来软件开发发展趋势

    千次阅读 2010-04-30 13:49:00
    前言: 写这篇文章的目的:以我个人的眼光趋势来察测未来因特网...从微软visual 2003到visual 2010的一步步改进更新来看,C/S开发相关的环境的更新速度已经远大于B/S. 前段时间软件的发展模式是:软件的发展速度
  • 测试开发工程师的发展

    千次阅读 2012-10-17 17:02:17
    随着测试在软件开发周期中越来越受到重视,国内测试的缺口一直比较大,各种软件互联网公司都大肆招收测试工程师,有些走在前面的公司甚至从今年开始取消了测试工程师职位,全部变成了测试开发职位,比如百度。...
  • Web前端灵活多变,能够直观看到成果,所以成就...互联网行业飞速发展,因此有很多小伙伴想要进入IT行业分一杯羹,但是学什么技术更好,哪一个语言的就业薪资更高,就成了困惑大家的主要问题。 网上关于“Web前端J...
  • 大部分人从来没有明确地设定自己的发展目标,每天都是得过且过。等到几年过去了,才发现自己这些年啥也没学会,还是老样子...顾名思义,就是你个人的职业发展有关的目标,包括知识、技能、工作岗位等都可以被设定为个
  • 首先,先说下当下的情况,我国经济的高速发展对计算机软件行业需求越来越高,因此国家...软件行业是国家重点鼓励支持的行业,他的发展前景肯定不用多说,一定是相当的不错,先上图        
  • Web开发技术发展历史

    千次阅读 2018-02-26 16:53:07
    “万维网”我们经常说的“互联网”是两个联系极其紧密但却不尽相同的概念。今天“互联网”三个字已经承载了太多的内涵,提到互联网,我们通常想到的一种战略思维,或者是一种颠覆传统的商业模式。抛开那些纷繁凌乱...
  • 软件开发工具的现状与发展一章主要讲了三部分:国内发展现状、国外发展现状软件工具发展趋势。国外软件工具虽然比较超前,但是也还处于发展完善之中,很多问题还在探索之中。国内的软件工具发展从技术研究的角度...
  • 据相关数据统计显示,Java工程师在所有软件开发类人才中...那么Java开发工程师的职业发展及晋升路线图是怎么样的呢?一起合肥学码思小编来看看。 1.Java程序员 这是Java开发工程师的第一阶段了,一般是刚入门Jav...
  • 但是随着科学的不断发展,嵌入式能应用的领域也越来越多,例如人工智能、互联网+等,这么说起来嵌入式开发工程师的就业前景应该会很不错,下面小编就具体的为大家介绍关于嵌入式软件开发和硬件开发的就业前景分别是...
  • 小程序的发布,让我们不得不思考,移动原生App开发和HTML 5开发,哪个更有优势? 在技术的发展上,HTML 5会取代App应用吗? 你更看好哪个? 经常会有人问“APP开发究竟是用原生的好点还是H5好点?” 首先我们来看...
  • 2019年web前端开发发展方向预测

    千次阅读 2018-10-29 17:54:35
    千锋小编认为过去的5年是前端工程化快速发展的过程,前端生产力得到了极大的发展,框架工程化工具层出不穷。而近两年前端的发展日益减缓,甚至在大家看来,现阶段前端的发展只是在原有格局的基础上小范围进行升级...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 73,267
精华内容 29,306
关键字:

发展和开发