手机智力游戏软件创意与实现外文翻译资料

 2022-09-02 08:09

Presentation 5. A Comprehensive Mobile Application Development and Testing Lifecycle

Tejas Vithani, BITS Pilani, Dubai Campus, United Arab Emirates

Anand Kumar, BITS Pilani, Dubai Campus, United Arab Emirates

Abstract: Software Development Lifecycle is crucial in Desktop or web application development. Mobile applications are being developed for deployment in smart phones. Looking at the rising need of mobile applications and the associated development complexity, it is imperative to have a dedicated framework lifecycle for mobile application - Mobile Application Development Lifecycle (MADLC). The proposed lifecycle includes the following phases: Identification, Design, Development, Prototyping, Testing, Deployment and Maintenance. This lifecycle has been used for over a year in developing Android mobile applications. This lifecycle addresses some of the distinguishing characteristics of mobile applications like life span, complex functionalities, fewer physical interfaces, more number of screens for interaction, battery and memory usage, cross platform development and maintenance. The preliminary indicators are that this will benefit the mobile developers to follow the development process within MADLC to build robust and optimal control applications.

In this research, Mobile Application Development Lifecycle (MADLC) has been proposed to bring out a formalized lifecycle procedure, which will aid the mobile application developers in developing high-end apps. This lifecycle includes the following phases: Identification, Design, Development, Prototyping, Testing, Deployment and Maintenance. Lifecycle phases in MADLC have been discussed which consists of different tasks and activities that takes place during the process. Following MADLC in a mobile application developed provides a preliminary indicator that this will not only help the developers in planning their tasks well ahead, but also, the project manager will be able to plan its Project Life Cycle activities in a very efficient manner delivering the mobile business solutions on time. This lifecycle also addresses some of the distinguishing characteristics of mobile applications like life span, complex functionalities, fewer physical interfaces, more number of screens for interaction, battery and memory usage, cross platform development and maintenance.

The testing component of a software development lifecycle is one that enhances the robustness in delivering bug free applications in production contributing and for the success of the organization. When it comes to testing a mobile application - we face many challenges due to various different devices, OS Versions, Services. Same codes are being used across multiple platforms delivering the same application. The aim of this thesis is in structuring the mobile application testing methodology across Native, Web and Hybrid applications. Alongside, this study will also aim to identify and overcome challenges faced during the implementation of various functional and non-functional testing. This will contribute in bringing up a new Mobile Application Testing Strategy Solution. This solution will showcase the difference between various testing strategy across Desktop and Web.

The significant challenges associated with mobile application testing makes an impact on production of mobile application. The importance of testing mobile application before developing it in live environment cannot be neglected. An application with issues and bugs can hurt not only the business but also the reputation of an organization. The selection of the target devices and operating system

platform making use of the available stimulator/emulator and automation testing tools can maximize the test coverage. Adoption of automation testing framework for the mobile application testing provides an effective way and reduces the long term testing cost. Factors such as support for applicable multiple platforms, multiple devices script reusability and cost are some of the factors to be considered while selection of the automation framework tool. Adopting various types of testing and mobile application testing strategy discussed can mitigate challenges with mobile application testing. This research will help the organization to formalize a strategy for testing mobile applications.

Bibliography:

  1. Tejas Vithani, Dissertation Report, August 2013, BITS Pilani, Dubai Campus.
  2. Tejas Vithani and Anand Kumar, “Modeling the Mobile Application Development Lifecycle” International MultiConference of Engineers and Computer Scientists 2014 (IMECS 2014), 12-14 March, 2014, Hong Kong.
  3. Tejas Vithani, Dissertation Report, January 2014, BITS Pilani, Dubai Campus.

Bios: Tejas Vithani completed his ME (Masters of Engineering) in Software Systems from Birla Institute of Technology amp; Science Pilani, Dubai Campus from Dubai, U.A.E in 2014 and B.Tech (Bachelors of Technology) in Information Technology from Jawaharlal Nehru Technological University, Hyderabad, India in 2011. His area of interest includes Cloud Computing, Software Engineering and Mobile Application Development amp; Testing.

Dr. Anand Kumarrsquo;s research interests include software engineering and development along with telecom, VLSI design, MEMS and Robotics and Signal Processing. He was the Program Co-Chair for ICCCTAM-12, a cloud computing conference organized by BITS Pilani, Dubai Campus. Dr. Anand Kumar obtained his PhD and Masterrsquo;s in Electrical and Computer Engineering from Rice University, USA in 1990 and 1986 respectively. He had earlier obtained his B.E. (Hons) from BITS Pilani, Pilani in 1983. Dr Kumar has spent over 10 years in the telecom industry with 7 of those years in software development at Motorola and Ericsson. He is currently at BITS Pilani, Dubai Campus and previously taught at New York Institute of Technology, Ab

剩余内容已隐藏,支付完成后下载完整资料


现在在手机行业的进步后,我们能够提供拥有大量软件的手机。大多数这些软件应该买了之后,我们才可以使用它们。这些软件是共享软件,购买后你必须插入一个序列号由制造公司为了激活该软件。但是饼干繁殖他们非法破解软件。饼干所使用的战术之一找到软件的序列号是无脑攻击的方式

本文方法基于验证码(的全自动区分计算机和人类的图灵测试)提出并解决来了这一问题。在这种方法中接收序列号时,一个弯曲的多位数图像数字是也会显示,用户必须输入。由于手机的局限性,OCR(光学字符识别)软件的手机不能识别显示数字。因此,攻击发起的饼干的序列号重复插入和使用无脑攻击注定是不可能的。这个程序可以很容易地用于各种软件在众多手机模型。这个项目的一个实例是在诺基亚N71的手机上使用J2ME(Java 2微版)语言编写和测试。

在这个技术和通信的时代,移动电话等一些技术经历了这样一个快速发展,出现在1985年后的二十年手机,它已成为一个非常必要的工具,六个人中就有一个使用一个移动电话。

起初,手机只是用来沟通和彼此说话但随着扩张它的用法和由于它无处不在,每一次,手机的功能增加了并且手机制造商增加了额外的功能手机。这些额外的功能,包括受到客户欢迎的摄影,音乐,显示照片和电影,广播,玩游戏,连接到互联网,近来的看电视。因为在手机领域的进步,特别是在智能手机的外观的进步。,软件制造商使用新功能手机享受一个利润丰厚的市场。新的软件可以使用在各个领域如融资、显示、编辑电影、照片、和音乐,游戏,找到自己的位置。这些软件是由根据手机规范和限制的语言编写的。一些最著名的手机编程C语言和J2ME(Java 2微版),这是一个特殊版本的Java语言为小型设备,如移动电话和pda(个人数字助理)。

大多数的手机软件都是必须的并且不是免费的。这些只是软件不同的销售方法。一些制造商在我们买了这些软件之后给了我们。有些公司让公众通过互联网使用这些软件的共享软件版本。但如果你想激活它的完整版,你应该把给你的序列号插入程序注册它。在另一个方法,买了之后他们会给你一个单独的软件程序。执行这个程序后,你有完整版软件的激活。

为了防止软件的破解,不同的方法已经被提供。例如校验程序的字节数的总和,他是相当于最初的校验和。如果程序改变,这个校验和变化和软件不会运行。一个更简单的方法是检查软件的大小。如果软件的大小发生了变化,软件将不会运行。

有很多方法来保护软件,使饼干无法破解调试的程序。这些方法的主要思想是提高理解程序的程度。

这些方法之一是项目混淆。在这种方法中,程序转移到另一个程序,很难理解。程序和表达式比原来的更复杂。这种方法是通过使用复杂的控制结构,插入不影响程序伪代码,改变数据结构等等。另一种方法是程序加密。在这种方法中,原计划是加密的。加密的程序有两部分,加密的代码和解码模块解码程序在运行时。

程序碎片是另一种方法,它将程序划分为许多碎片。分散的程序有两部分,片段的原始程序和一个模块在运行时将这些部件和运行它们。

正如前面提到的,一个激活的共享软件版本软件的方法是在买方在购买之后插入一个序列号给在买方。后将序号插入软件完整的版本将被激活。一个饼干破解软件使用的策略是无脑攻击。在这种方法中一个程序开始自动插入数字从0到无穷大的序列号共享软件。如果序列号是错误的,它插入下一个号码,继续这个过程,直到找到软件的序列号。为了防止这种策略所使用的饼干,在本文中,我们提出一个方法基于验证码。

(全自动的区分计算机和人类的图灵测试):

在人工智能的话题中,我们使用一个叫图灵测试的测试来证明高商的情报。在这个测试人类用户和计算机放置在两个独立的房间。在另一个房间一个人审问者问他们问题,如果审讯者不能找出哪些用户(人类用户或计算机)是在哪个房间,我们得出这样的结论:计算机图灵测试成功。

在验证码这方面,我们应该采用相同的方法的图灵测试。我们用验证码区别了审讯者是一台电脑,不是一个人。计算机必须通过问问题区分人类用户和计算机软件。在此方法的结论是,,一个人可以很容易回答的关于目前的计算机程序问题,,计算机却很难回答。

验证码中使用的方法之一是使用文字的图片。这种方法的缺点是需要基于OCR(光学字符识别)软件。

在使用OCR系统自动读取文本时,他们在阅读文本印刷质量和低级别的手稿(手写的文本)会遇到困难。他们只能识别使用常见的格式和标准高质量文本类型。所以我们可以使用拥有这些缺点的OCR系统修改图像或一个文本,但在某种程度上它可以读取出一个人辨认不了的电脑解码。在下一节中我们将讨论的方法应用到这一目的。

这些方法被用于大型互联网网站如雅虎和Hotmail的用户注册,虽然近年来提出的方法打破了这些系统自动识别这些弯曲的图片和文字的模式。

用户必须输入在我们提出序列号中显示出数的位数是弯曲的形象,。因为手机的局限性,他们的OCR系统不能识别显示数字。由于重复插入的攻击引发的序列号无脑攻击的软件和应用程序将被证明是不可能的。我们执行这个项目的样本是诺基亚N71手机。这个项目是由J2ME语言写的。该方法的细节和实验结果将在第三节被解释。在最后一节中作最后的结论。

相关的工作

在这里,我们审查的一些工作完成,验证码的方法。

这是第一个在1997年还多布罗德等人设计了验证码的方法。同年,Altavista网站使用这个方法来分辨计算机程序和人力。在这种方法中,一种扭曲的英语单词是显示给用户,用户被要求输入(图1)。OCR程序不能识别这个太失真的词[3]。

Gimpy 的方法

Gimpy 的方法制备了卡内基梅隆大学区分人类用户和计算机程序。在这种方法中,选择一个单词从字典,之后应用添加黑或白线等的变化,使得线性变化,等等,这是用户被要求输入正确显示的一个图像。这种方法使用其词与860个单词从字典它可以很容易地打破[5].Yahoo !使用一个simp1e版本的这种方法,称为EZ-Gimpy(图2),连续识别从计算机程序在预防人类用户定义的用户帐户破坏性的计算机程序。

PayPal 方法

PayPal网站提供电子支付钱的服务。作为在图中,它使用扭曲的字,分辨人类用户和计算机程序。不幸的是,PayPal没有发表任何细节的方法。然而,考虑到远距离的角色,显然OCR程序识别字符并不困难。

使用动态视觉模式

在这种方法中,字是印在视觉模式的背景,例如文本是印在黑色圆圈然后显示识别人类用户的计算机程序。尽管事实上,计算机程序能认识到这些话,他们是很难像人类用户一样阅读的很好。

Hotmail方法[9]

Hotmail电子邮件服务登记,属于微软公司,使用的是另一个验证码的方法。在这种方法中,一串英文字母是随机选择的,做一些更改字符后,图像显示给用户,他被要求类型。

这种方法已被用来研究OCR系统。这些研究表明,字符分割是一个OCR系统中最困难的任务。因此,一直尝试改变词语,所以他们不能轻易分开。是看到在图4中,尝试了利用一些曲线,使其分离的单词尽可能困难。结果,虽然这些对于人类用户再简单不过的角色分离是现在不能通过的项目。

在这种方法中,由于把曲线之间的角色,有时一些字符阅读不同,有时创建额外的字符。

最差的打印方法

这种方法是基于现在的OCR系统的主要弱点之一,即无法识别与低质量字符打印。因此,它一直在试图降低人工打印字符的质量,防止破坏性的活动项目。

然而,这种方法并不好抵抗攻击和单词可以恢复他们的主要质量通过逆转的变化使词辨认的OCR系统。

其他验证码方法基于OCR不相关我们CAPTCH的方法,如使用手写的字,Baffletext和散射类型的方法。

在这里,我们的目标是防止蛮力攻击,旨在寻找软件的序列号,通过验证码的方法。正如我们指出的验证方法使用OCR系统一样,早些时候,OCR系统的缺点是应用于文本的正确识别方面的缺陷,这是人类用户区别于计算机软件的地方,因为一个人可以很容易地认出他们。

要识别文本,OCR软件需要丰富的处理,因为其局限性我们不能在手机正确的运行这些软件,如缺乏强大的处理器和和强大的记忆系统。所以OCR系统不能识别正确的文本。虽然最近功能强大的手机拥有处理强度与电脑一样巨大的记忆棒,但是这些手机在OCR软件的执行仍然难度很大。另一方面,这些功能强大的手机真的是是太贵了,这筛掉了大量的用户。针对上述问题,我们可以令我们的手机验证码更容易。因此我们使用验证码以防止暴力破解攻击。

首先,注册页面显示。此页面上的大多数程序显示的为IMEI(国际移动设备识别码)的手机号码,用户购买手机后得到了基于手机的IMEI号码的软件制造商的软件序列号。用户可以注册和激活该软件的完整版本,如果这些数字被证明是符合制造商所使用的数字的情况下。IMEI号码是15位数,是每一个手机所独有的,它是用来识别GSM / DCS / PCS额手机网络服务。这个数字有不同的用途,如识别被盗的手机。自2003年初以来,其格式nnxxxxyy- zzzzzz -a.前8位数(nnxxxxyy)都是各自国家的验证码。接下来的六位数字(zzzzzz)是移动电话和以及最后一个数字的序列号是控制相关的数。

在蛮力攻击中,从0个开始的无数个数被一个软件自动插入,以便找到序列号。

最后软件为了防止这些攻击,一个包含多个数字的图像(带弯曲的数字)被放置在注册页面。

除了填充先前的字段,用户必须插入图片所示的数字,。如果用户在插入其他项目时正确插入所示号码,则可以完成该注册,该软件的完整版本被激活。否则,签署将不会完成。

正如我们已经说过的OCR软件不能正常工作的手机号码,甚至不需要处理的识别。如果我们把一个多位数的图像在注册页面攻击软件也承认这个数字,但你知道它是不可能这样做的在基于因为当前的OCR软件情况下。

此外,即使强大的OCR系统也不能识别因为对数字和其他困难的弯曲的号码。例如,拍摄手机屏幕的照片,发现这个区域的数字图像的位置和提取的图像,在这方面是需要大量的计算的,这对于移动电话几乎是不可能的。如果图像是透明的,则该号码从手机背景的分离增加了OCR运行程序的困难。

按照数字与弯曲的各种状态,每个数字的形状有不同的准备图像,例如十形状的每个数字是事先准备好,放在程序包。我们可以在一个弯曲的形状,但因为这需要一些处理。而一些旧的简单的移动电话不能实施,所以一个银行的数字图像准备是使用弯曲的形状。

然后将这些图像中的六个放置在彼此旁边,形成一六个数字。在这里我们使用黑色和白色的图像,用户还可以看到有一个黑色和白色的屏幕,虽然使用彩色图像手机图片使OCR软件工作更困难。

我们把数字之间的差距增大,使人类更容易识别号码,为它提供了一个机会来使OCR程序识别号码。在人类用户的角度,也有一个权衡之间的方法来抵抗计算机的攻击和简单的方法。。我们设计了我们的方法,使所有的用户可以很容易的使用它,而计算机不能容易的打破它。然后,我们添加一个字段到页面中插入所示的图像,并放置在页面上的图像。在执行阶段我们使用J2ME创建和编写的图像。因此,正如我们以前说过的,蛮力攻击无法进行,因为攻击软件将无法识别所示的数字。这个项目是在一个诺基亚N71手机测试的。

软件开发过程步骤是最重要的,在桌面或网络应用程序开发方面。移动应用程序正在基于智能手机进行开发。在移动应用程序相关的开发上复杂度要求要不断提高,它是有一个专门的架构有开发步骤的移动应用程序开发,所以掌握对移动应用的开发步骤势在必行。建议的开发步骤包括以下几个阶段:识别,设计,开发,原型,测试,部署和维护。在开发安卓移动应用程序中,这个阶段过程已超过一年了。这个开发阶段解决了一些移动应用程序的问题,比如运行周期短,功能复杂,物理接口少,互动的频繁,电池和内存的使用,跨平台开发和维护。作为初步的目标,这将是开发者在日后的开发中最需要掌握控制的。

在本研究中,移动应用开发阶段步骤已经规范化出了一个正式的程序开发过程,这将有助于移动应用开发商开发高端应用。这个开发阶段步骤包括以下几个阶段:识别,设计,开发,原型,测试,部署和维护。我们在该阶段步骤阶段进行了讨论,包括不同的任务和活动过程中发生开发过程。这位、为在移动应用开发提供了一个初步的指标,这不仅可以帮助开发商在规划任务方面遥遥领先,而且,项目经理将能够计划项目阶段步骤简化为一个非常有效的方式提供给移动商务用来解决开发方案的时间。这个阶段步骤也解决了一些移动应用程序的需求问题,如运行时间,复杂的功能,较少的物理接口,更多数量的互动,电池和内存的使用,跨平台开发和维护。

测试组件的软件开发阶段步骤提高了开发稳定性,提供了无缺陷的应用程序和生产中组织的成功。谈到测试移动应用程序,我们面临着许多挑战,由于设备的不同,操作系统版本的不同,服务的不同,相同的代码可以跨多个平台使用。本论文的目的是构建移动应用程序测试方法在本地、网络应用及混合应用。这项研究也将面临目标识别和克服的各种功能和非功能性测试的实施过程的挑战。这将有助于提出一个新的移动应用测试策略解决方案。该解决方案将展示出桌面和网络之间的各种测试策略的差异。

与移动应用程序测试相关的重大挑战对移动应用程序的生产产生影响。测试移动应用程序的开发在生活环境中的重要性是不容忽视的。一个应用程序的问题和错误不仅可以伤害的业务,也对组织的声誉造成影响。

目标设备和操作系统的选择

使用可用的刺激/模拟器和自动化测试工具的平台可以最大限度地提高测试覆盖率。通过自动化测试框架的移动应用测试提供了一种有效的方法,并降低了长期的测试成本。支持多个平台,多个设备的脚本的可重用性和成本的因素,需要考虑的因素,

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[147578],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。