计算机专业英语期末论文翻译
- 格式:doc
- 大小:50.50 KB
- 文档页数:10
1.(P1) Computer science deals with the theoretical foundations of information and computation, together withpractical techniques for the implementation and application of these foundations, such as programming language theory, computational complexity theory, computer graphics and human-computer interaction.计算机科学涉及信息和计算的理论基础,以及这些基础的实施和应用的实际技术,如编程语言理论,计算复杂性理论,计算机图形学和人机交互。
2.(P17) The most important piece of graphics hardware is the graphics card, which is the piece of equipment thatrenders out all images and sends them to a display. There are two types of graphics cards: integrated and dedicated. An integrated graphics card, usually by Intel for use in their computers, is bound to the motherboard and shares RAM (Random Access Memory) with the CPU, reducing the total amount of RAM available. This is undesirable for running programs and applications that use a large amount of video memory. A dedicated graphics card has its own RAM and Processor for generating its images, and does not slow down the computer.Dedicated graphics cards also have higher performance than integrated graphics cards. It is possible to have both dedicated and integrated graphics card, however once a dedicated graphics card is installed, the integrated card will no longer function until the dedicated card is removed.最重要的一块图形硬件是显卡,是一件呈现出所有的图像,并将它们发送到一个显示器的设备。
1.1 A Closer Look at the Processor and PrimaryStorage仔细看看处理器和主存储器We have learned that all computers have similar capabilities and perform essentially the same functions, although some might be faster than others. We have also learned that a computer system has input, output, storage, and processing components; that the processor is the “intelligence” of a computer system; and that a single computer system may have several processors. We have discussed how data are represented inside a computer system in electronic states called bits. We are now ready to expose the inner workings of the nucleus of the computer system — the processor.我们已经知道,所有的计算机都具有相似的能力,并且在本质上执行相同的功能,尽管一些可能会比另一些快一点。
我们也知道,一个计算机系统具有输入,输出,存储和处理部件;处理器是一个计算机系统智能核心,并且一个计算机系统可以有许多个处理器。
我们已经讨论过如何在计算机系统内部,用被称作“位”的电子状态来表现数据,现在我们要弄明白计算机系统的核心,即处理器,的内在的工作方式。
计算机类的英语作文模板Computer is a vital tool in today's society. It has revolutionized the way we live, work and communicate. As a result, the demand for computer professionals has increased significantly. In this essay, we will discuss the importance of computer education and the role it plays in shaping our future.Firstly, computer education is essential for students to succeed in the modern world. In today's society, computers are used in almost every aspect of life. From booking a flight to conducting research, computers have become an integral part of our lives. Therefore, it is crucial for students to have a basic understanding of computers and how they work. This will enable them to navigate the digital world with ease and confidence.Secondly, computer education plays a vital role in shaping our future. With the world becoming increasingly digital, computer skills are in high demand. By learningcomputer programming and coding, students can develop the skills needed to create innovative technologies that can change the world. For example, the development ofartificial intelligence and machine learning has transformed industries such as healthcare, finance, and transportation. Therefore, computer education is critical to the development of new technologies that can shape our future.Thirdly, computer education can provide students with a competitive edge in the job market. In today's competitive job market, having computer skills can make a significant difference. Many employers require basic computer skills, and some even require advanced skills such as programming and coding. Therefore, by learning computer skills, students can increase their chances of finding a job and advancing their careers.In conclusion, computer education is essential for students to succeed in the modern world. It plays a vital role in shaping our future and provides students with a competitive edge in the job market. Therefore, it iscrucial for schools to include computer education in their curriculum to prepare students for the digital world. With the right education, students can develop the skills needed to create innovative technologies that can change the world.。
英语翻译成汉语:1、In order to solve a computational problem, its solution must be specified in terms of a sequence of computational steps, each of which may be performed by a human or a digital computer.If you want to solve the computational problem with a computer, you should learn how to program.The task of developing programs for the soultion of computational problems is referred to as programming.Computer programming is the process of planning and creating a sequence of steps for a computer to follow.In general,this process will help us resolve a problem,which is either too tedious (冗长的) or difficult to work out otherwise.So programming is breaking a task down into small steps.译:为解决计算问题,其解决方案必须被指定在一个计算步骤的序列,每一个可能由一个人或一个数字计算机。
如果你想解决计算问题的计算机,你应该学会如何计划。
制定发展任务的计划称为编程。
计算机编程的过程中规划和创建一个序列的计算机执行步骤。
一般来说,这个过程将帮助我们解决一个问题,是太冗长的或难以解决的方式。
描述计算机专业的作文英语Computer Science Major。
As technology continues to advance at a rapid pace, the field of computer science has become increasingly important. Computer science is the study of computers andcomputational systems, including their design, development, and use. It is a highly interdisciplinary field that combines aspects of mathematics, engineering, and science.As a computer science major, students will learn about the fundamentals of computing, including programming languages, algorithms, data structures, and computer architecture. They will also study software engineering, database systems, operating systems, and computer networks. In addition, students will develop problem-solving skills and learn to think critically about complex systems.One of the most important skills that computer science majors will learn is programming. Programming is theprocess of creating software and applications using various programming languages such as Java, Python, and C++. Students will learn how to write code, debug programs, and develop software applications. They will also learn about software development methodologies such as agile and waterfall.Another important aspect of computer science is data analysis. With the vast amount of data available today, it is essential for computer scientists to be able to analyze and interpret data. Students will learn about data mining, machine learning, and artificial intelligence. They will also learn how to use statistical tools and techniques to analyze data.As computer science is a rapidly evolving field, students will need to keep up to date with the latest developments and trends. This requires a strong commitment to lifelong learning and professional development. Students will need to be proactive in seeking out new opportunities for learning and networking with other professionals in the field.In conclusion, a computer science major is an excellent choice for students who are interested in technology and want to make a difference in the world. With a solid foundation in programming, data analysis, and problem-solving, computer science majors are well-equipped to tackle the complex challenges of the modern world.。
计算机的作文英语With the rapid development of technology, computers have become an indispensable part of our daily lives. From work to entertainment, we rely on computers to help us accomplish various tasks. In this essay, I will discuss the advantages and disadvantages of computers and their impact on society.Firstly, computers have greatly improved our productivity and efficiency in the workplace. With the help of computers, we can easily create and edit documents, analyze data, and communicate with colleagues. This has not only saved us time but also improved the accuracy of our work. Moreover, computers have made it possible for us to work remotely, which has greatly increased our flexibility and work-life balance.Secondly, computers have revolutionized the way we communicate with each other. With the help of the internet, we can easily connect with people from all over the worldand exchange information in real-time. Social media platforms have also made it possible for us to stay intouch with friends and family, share our experiences, and even build communities around shared interests.However, there are also some disadvantages to the widespread use of computers. One of the biggest concerns is the impact of computers on our health. Sitting in front ofa computer for long periods of time can lead to eye strain, back pain, and other physical ailments. Moreover, the overuse of computers has been linked to a sedentary lifestyle, which can increase the risk of obesity, heart disease, and other health problems.Another concern is the impact of computers on ourprivacy and security. With the increasing amount ofpersonal information stored on computers and the internet, there is a risk of this information being stolen or misused. Cybersecurity threats such as hacking, phishing, andidentity theft are becoming more common, and it isimportant for individuals and organizations to take stepsto protect themselves.In conclusion, computers have had a significant impact on our lives, both positive and negative. While they have greatly improved our productivity and communication, they have also raised concerns about our health, privacy, and security. It is important for us to be aware of theseissues and take steps to mitigate their impact on our lives.。
11.A computer is a fast and accurate system that is organizedto accept, store and process data, and produce ~program.计算机是快速而精准的系统,他用来接收、存储和处理数据,并在已存储的程序的指引下输出结果。
2.When people use the term “memory” in reference to computer~which is comprised of chips attached to the motherboard.当人们谈及计算机用到内存这个术语时,他们几乎总是在指被称为随机存储器RAM的计算机的主存储器,它是由固定在主板上的芯片构成的。
3.Inside the hard disk ~are many tracks.在硬盘驱动器的盒子里,有一张或多张圆形的金属盘,金属盘上有许多磁道。
4.Clarity is indicated by its resolution, which~ pixes , theclearer, the clearer the images.清晰度通过分辨率显示,而分辨率又由像素决定。
在显示器尺寸不变的情况下,像素越多,图像越清晰。
5.A monitor is a hardware with a television-like viewing screen.显示器是指具有类似电视机的显像屏幕的硬件。
6.Input devices translate data and ~ that computer can process.输入设备能够将人类理解的数据和程序指令转化成计算机能处理的形式。
7.Most scanners are of the flatbed,~ are the most popular.扫描仪可以分为平板式、馈纸式、滚筒式和手持式,其中,以平板式和手持式两款最为流行。
第4章操作系统第一部分阅读和翻译A部分 Windows 71. 简介Windows 7是微软最新发布的windows版本,这一系列微软制造的操作系统主要用于个人电脑,其中包括家庭和商业台式电脑、笔记本电脑、上网本、平板电脑、和媒体中心电脑。
(见图4.1)Windows 7于2009年7月22日开始生产,并在2009年10月22日零售,这个时间距其推出其前任Windows Vista不到三年时间。
与Windows 7相对应的Windows server 2008 R2,也是同年发布。
不像其前一操作系统vista,windows7 引入了大量的新特性,更集中于增量升级的windows线,目标是兼容已经在vista中兼容的应用程序和硬件。
微软在2008年的报告中关注于对于多点触控的支持,以及一个重新设计的windows shell和一个新的任务栏,并将其称之为Superbar,还有一个称之为家庭组的网络系统,注重性能改进。
之前版本的windows 系统中的一些标准的应用程序,包括windows日历,windows邮件,windows movie maker,和windows相片画廊在windows 7中并没有包含进来,而大多数是作为Windows Live Essentials套件单独免费进行提供的。
2. 发展最初,微软计划用一个代号为Blackcomb的windows版本来继承Windows XP(代号惠斯勒)和Windows Server 2003。
微软计划在Blackcomb中设计的主要功能包括在搜索中的加强,查询数据以及一个先进的存储命名系统。
然而,一个临时的,更小的,代号为Longhorn 的版本在2003年发布了。
微软在2003年中旬推迟发布了Blackcomb,但是Longhorn获得了大部分当初试图在Blackcomb中实现的特性。
在2003年,相继有三个主要病毒暴露了windows操作系统的一些漏洞,微软改变了其的发展重点,搁置了Longhorn的主要开发工作,主要开发windows xp和windows server 2003的服务包。
1.2 总线互连总线是连接两个或多个设备的通信通路。
总线的关键特征是,它是一条共享传输介质。
多个设备连接到总线上,任一个设备发出的信号可以为其他所有连接到总线上的设备所接收。
如果两个设备同时传送,它们的信号将会重叠,引起混淆。
因此,一次只能有一个设备成功地(利用总线)发送数据。
典型的情况是,总线由多条通信通路或线路组成,每条线(路)能够传送代表二进制1和0的信号。
一段时间里,一条线能传送一串二进制数字。
总线的几条线放在一起能同时并行传送二进制数字。
例如, 一个8位的数据能在8条总线线上传送。
计算机系统包含有多种不同的总线,它们在计算机系统层次结构的各个层次提供部件之间的通路。
连接主要计算机部件(处理机, 存储器, I/O)的总线称为系统总线。
系统总线通常由50~100条分立的(导)线组成。
每条线被赋予一个特定的含义或功能。
虽然有许多不同的总线设计,但任何总线上的线都可以分成三个功能组:数据线、地址线和控制线。
此外可能还有为连接的模块提供电源的电源线。
数据线提供系统模块间传送数据的路径,这些线组合在一起称为数据总线。
典型的数据总线包含8、16或32根线,线的数量称为数据总线的宽度。
因为每条线每次传送1位,所以线的数目决定了每次能同时传送多少位。
数据总线的宽度是决定系统总体性能的关键因素。
地址线用于指定数据总线上数据的来源和去向。
例如,如果处理机希望从存储器中读一个字的数据,它将所需要字的地址放在地址线上。
显然,地址总线的宽度决定了系统最大可能的存储器容量。
控制线用来控制对数据线和地址线的访问和使用。
由于数据线和地址线被所有部件共享,因此必须用一种方法来控制它们的使用。
控制信号在系统模块之间传送命令和定时信息。
定时信息指定了数据和地址信息的有效性,命令信号指定了要执行的操作。
大多数计算机系统使用多总线,这些总线通常设计成层次结构。
图1.3显示了一个典型的高性能体系结构。
一条局部总线把处理机连接到高速缓存控制器,而高速缓存控制器又连接到支持主存储器的系统总线上。
Computers are machines that can be used for performing calculations automatically.They can perform complex and repetitive procedures quickly, precisely and reliably and can quickly store and retrieve large amounts of data.电脑是机器可用来自动执行计算。
他们能够快速进行复杂的和重复的程序,精确可靠,可以快速存储和检索大量数据。
The physical components from which a computer is constructed (electronic circuits and input/output devices) are known as "hardware". Most computers have four types of hardware components: input, processor, storage (main memory, auxiliary storage) and output.身体成分构造计算机(电子电路和输入/输出设备)被称为“硬件”。
大部分的电脑有四种类型的硬件组成部分:输入,处理器,存储器(主存储器,辅助存储)和输出。
Input and output (I/O) devices allow the computer to communicate with the user and the outside world. The CPU (central processing unit) executes programs ("software") which tell the computer what to do.The two principal characteristics of a computer are: It responds to a specific set of instructions in a well-defined manner. It can execute a prerecorded list of instructions (a program).输入输出(I/O)设备允许计算机与用户和外界沟通。
计算机专业英语翻译参考1.(P1) Computer science deals with the theoreticalfoundations of information and computation, together with practical techniques for the implementation and application of these foundations, such as programming language theory, computational complexity theory, computer graphics and human-computer interaction.计算机科学涉及信息和计算的理论基础,以及这些基础的实施和应用的实际技术,如编程语言理论,计算复杂性理论,计算机图形学和人机交互。
2.(P17) The most important piece of graphics hardware isthe graphics card, which is the piece of equipment that renders out all images and sends them to a display.There are two types of graphics cards: integrated and dedicated. An integrated graphics card, usually by Intel for use in their computers, is bound to the motherboard and shares RAM (Random Access Memory) with the CPU, reducing the total amount of RAM available. This is undesirable for running programs and applications that use a large amount of video memory. A dedicated graphics card has its own RAM and Processor for generating its images, and does not slow down the computer. Dedicated graphics cards also have higher performance than integrated graphicscards. It is possible to have both dedicated and integrated graphics card, however once a dedicated graphics card is installed, the integrated card will no longer function until the dedicated card is removed.最重要的一块图形硬件是显卡,是一件呈现出所有的图像,并将它们发送到一个显示器的设备。
谈谈计算机专业英语作文标题,Computer Science English Composition。
With the rapid development of technology, computer science has become an increasingly important field of study. As a result, proficiency in computer science English is crucial for students in this discipline. In this essay, we will explore the significance of computer science English and provide insights into its key aspects.First and foremost, computer science English plays avital role in facilitating communication within the global tech community. As English is widely regarded as the lingua franca of the computing world, professionals andresearchers from diverse linguistic backgrounds rely on itto exchange ideas, collaborate on projects, and disseminate knowledge. Therefore, mastering computer science English enables students to actively participate in thisinternational discourse, broaden their professional networks, and stay abreast of the latest developments intheir field.Moreover, proficiency in computer science English enhances students' access to a wealth of resources and information. The majority of academic journals, conference proceedings, and technical documentation in the field are published in English. Consequently, students who are proficient in computer science English can effectively navigate these resources, conduct comprehensive literature reviews, and leverage existing research to inform their own work. Furthermore, they can engage with online communities, participate in forums, and access tutorials and documentation for various programming languages andsoftware tools, thereby enriching their learning experience and honing their skills.In addition to its practical benefits, computer science English also fosters cognitive development and critical thinking skills. Learning technical concepts and expressing them in English requires students to engage in analytical thinking, problem-solving, and abstract reasoning. Moreover, communicating with peers and instructors in Englishcultivates effective communication skills, including clarity, coherence, and conciseness. These cognitive and linguistic skills are not only invaluable in academic and professional settings but also transferable to other domains of life.Furthermore, proficiency in computer science English enhances students' career prospects in the global job market. In an increasingly interconnected world, employers value candidates who possess both technical expertise and strong communication skills. By demonstrating proficiency in computer science English, students can differentiate themselves from their peers and position themselves as competitive candidates for job opportunities, internships, and research positions at leading companies andinstitutions worldwide. Moreover, they can pursue international collaborations, work on multinational projects, and explore job opportunities abroad, thereby broadening their horizons and advancing their careers.To cultivate proficiency in computer science English, students should actively engage in language learningactivities both inside and outside the classroom. In addition to attending lectures and participating in discussions, they can supplement their learning by reading academic papers, watching tutorials, listening to podcasts, and practicing writing and speaking tasks. Moreover, they can seek feedback from instructors, peers, and language experts to identify areas for improvement and refine their language skills. By adopting a proactive and systematic approach to language learning, students can enhance their proficiency in computer science English and unlock new opportunities for academic and professional growth.In conclusion, computer science English is an essential skill for students in the field of computer science. It enables them to communicate effectively, access resources, develop cognitive skills, and enhance their career prospects. By investing time and effort in language learning, students can position themselves for success in the global tech community and make valuable contributions to the advancement of their field.。
●计算机专业英语翻译部分●Data is a collection of un-organized facts, which can include words, numbers, images, andsounds.●数据是未经组织的事实的集合,数据可以包括单词,数字,图像和声音.● A computer consists of a variety of hardware components that work together with software toperform calculations(计算), organize data, and communicate with other computer.●计算机由许多硬件部件构成,这些硬件与软件一起工作,以便执行计算,组织数据及与其他计算机通信的任务.●These hardware components include input devices, output devices, a system unit, storagedevices, and communications devices.●硬件部件包括输入设备,输出设备,系统单元,存储设备和通信设备.●An input device allows a user to enter data and commands into the memory of a computer.●输入设备让用户向计算机存储器输入数据和命令.●Storage differs from memory ,which can hold these items permanently(永久的),whereasmemory holds these memory holds items only temporarily(暂时的)。
●外存储器与内存储器不同,外存储器能永久保存数据而内存储器仅临时保存.●Four common storage devices are a floppy disk drive, a hard disk drive, a CD-ROM drive, and aDVD-ROM drive.●四种常用的外存设备分别是:软盘驱动器,硬盘驱动器,CD-ROM驱动器和DVD-ROM驱动器.●Television?and?data?can?be?mixed?on?one?cable.?●宽带能用于多个方面。
第10单元计算机安全与隐私第一部分听力和对话对话:使用杀毒软件(Sophie的电脑不幸感染了恶意的电子邮件附件。
现在,她正努力寻找一些措施,用来有效地治疗和保护她的计算机不受病毒感染。
)Mark:我认为杀毒软件在上网时是一个主要的措施。
Henry:是的。
我同意。
杀毒软件是这样一种实用程序软件,它能够寻找并去除病毒、木马、蠕虫和恶意软件。
它适用于所有类型的计算机和数据存储设备,包括智能手机、平板电脑、个人计算机、闪存、服务器、PC机和Mac机。
Sophie:你能否推荐任何有信誉的杀毒软件让我使用?Mark:没问题。
流行的杀毒软件包括Norton AntiVirus、Kapspersky Anti-Virus、F-Secure Anti-Virus、Windows Defender和Avast等。
Sophie:杀毒软件如何起作用?Henry:现代的杀毒软件在幕后运行,并且企图识别存在于设备内的作为下载、电子邮件、附件或网页的恶意软件。
查找恶意软件的过程有时称为扫描或实现病毒扫描。
要识别恶意软件,杀毒软件可以查找病毒特征值或实现启发式分析。
Sophie:当查到恶意软件后会怎样呢?Mark:当杀毒软件查到恶意软件后,它可以试图去除感染,将这个文件放到隔离区,或仅仅是删除这个文件。
Mark:尽管偶尔查不到,但是杀毒软件和其他的安全软件模块能够不断地删去感染设备的恶意软件。
要点是使用安全软件,但是进行额外的预防措施也很重要,如定期备份数据,并且避开靠不住的软件销售商店。
Sophie:我如何保证我的杀毒软件正在运行?Mark:杀毒软件往往是我们习以为常的数字生活的一部分。
我们假定它已安装并执行它的工作。
Henry:但是杀毒软件可能无意中被禁用。
它的配置可以被通过设法潜入设备的恶意软件所改变。
在试用或订阅到期后,杀毒软件会失效。
保证杀毒软件正确地执行也许需要用户定期的介入。
Mark:而且许多杀毒产品在任务栏或通告区会显示一个图标。
Database Application Testing1.IntroductionDatabases play a pivotal role in almost every organization in today’s information-based society. Commercial Database managementsystems(DBMSs) provide organizations with efficient access to huge amounts of data without affecting the integrity of data and relieving the user of the any need to understand the low-level implementation details. Over the years tremendous efforts have been devoted to ensuring use of efficient and integrity protecting data structures and algorithms by DBMSs. However, little has been done to develop systematic techniques for ensuring correctness of applications using these DBMSs. Many testing techniques have been developed to help ensure that behaviour of a program is in accordance with the specifications. However, these techniques mostly target programs written in traditional imperative languages and can’t be of much help when it comes to database applications. Like any other program, database application program can be viewed as an attempt to implement a function. Considered this way, both the input and output spaces of this function will include database state apart from the explicit input and output parameters of the application. This affects substantially the way a test case is defined, generated and executed to check correctness of application. Hence there is a need for new approaches specifically oriented towards testing database applications.Testing database application programs involves the following phases :•Extraction of information from database schema•Generation of test data and Populating test database•Generation of test cases as input to the application program•Validation of database state and output after executionUsing live data has several limitations. It may not reflect sufficiently wide variety of possible situations and even if it does, it might be difficult to find them in a large database. Secondly, privacy or security constraints might prevent the user from seeing sensitive data. Hence, various methods for generating synthetic test data have been proposed. When generating data and populating the test database, its important to generate valid and interesting data e.g. it would be advisable to select data so as to include situations which the tester believes are likely to occur or will expose faults in application. The technique used for test data generation will determine the extent of coverage of test database. Selecting a good initial database state so as to include a wide variety of scenarios resembling real data for the particular application is very beneficial. Since database state plays an important role in determining theoutput, it has to be checked after each execution that only the specified modifications and none others have occurred.2.AGENDA - tool set for testing DB applicationsAGENDA is a tool set has been designed. AGENDA takes as input the application database schema, application source code and files containing sample values which contain suggested values for the attributes provided by the user. The user interactively selects test heuristics and provides information about expected behaviour of test cases. Using this information AGENDA, populates the database, generates inputs to the application, executes the application on those inputs and checks some aspects of correctness of the resulting database state and application output.13. Input Generator :It generates the input data to be supplied to the application by using information derived from Agenda parser and State generator in addition to the information gained by parsing the SQL statements in the application program and information useful for checking test results. Information derived from parsing the source code may be useful in suggesting inputs that tester should supply to the application. The input generator thus generates test inputs by instantiating the input parameters with actual parameters.4. State Validator :The validator monitors the change in application DB state during execution of a test. It automatically logs the changes in the application tables andsemi-automatically checks the state change.5. Output Validator :It captures the application’s outputs and checks them against the query preconditions and post conditions that have been generated by the tool or supplied by the tester.6. Design and Implementation6.1 Parsing toolThe Agenda Parsing tool is based on PostgresSQL parser. PostgresSQL parser creates an Abstract Syntax Tree containing relevant information about tables, attributes and constraints from a given schema. However, this information is spread out at different locations in the tree. In addition, it is possible to have different tree structures having the same underlying information about the tables, because of use of different SQL DDL syntactic constructs expressing the same information. Consequently, the exact location of relevant information depends on the exact syntax of schema definition. Some of the information from DBMS’s internal catalog tables is needed by other components of AGENDA. Allowing them to directly query these tableswould have introduced interdependency between AGENDA components which is not desirable. Hence all the information that needs to be processed is stored in Agenda DB which is made available to other components. This decoupling of PostgresSQL from rest of the components allows AGENDA to be ported to different DBMS just by changing the Parser. The Parser extracts information about integrity constraints such as uniqueness constraints, referential constraints and not NULL constraints from schema. It also extracts limited information from semantic constraints, particularly boundary values. This is very useful in automatic data-partitioning and input generation. Next, the Agenda Parser parses the sample-value files containing user-supplied data and stores the sample values, their data groups and associated attributes in the Agenda DB. Attributes involved in composite constraints are marked so that they can be correctly handled by input generator.7 Extensions to AGENDA7.1 Testing Web DB applicationsWith the tremendous growth of World Wide Web, many new web-based services that are driven by data stored in databases are gaining importance. Examples include E-commerce applications such as online stores, and business-to-business support products. Some of these are of critical importance and hence it is essential to ensure their correct functioning. Most web DB applications consist of threes layers - at the base is DBMS and a database, at the top is client web browser and in between lies the application logic - usually developed with a server-side scripting language or Java extended with library that can interface with DBMSs, and can decode and produce HTML pages displayed in the client browser. For a web application a test case is considered as a sequence of pages to be visited along with the input values to be provided to the pages containing forms. The white box approach involves following steps:1. Information extraction from application source :Useful information such as URL links(which includes all other URLs that can be reached from the current page) and parameter information(name-value pairs that are passed to the Servlet) for each URL is extracted from application source. URLs are partitioned into two categories depending on their content - static and data-based(dynamic) page.2. Web application graph generation and path selection :Based on the information extracted earlier, an application graph, where each node represents a URL and edges represent URL links, is generated and then simplified according to URL link types. There is an edge from URL A to URL B if URL A produces a link to URL B in the HTML page it generates. Paths through the graph represent natural sequences of execution of URLs asa user navigates through the web application. Hence, some of these paths are selected as test cases to represent possible scenarios of use of the application.3. Input Generation :For each path selected, AGENDA is used to generate inputs for each URL. The path along with inputs constitute a test case. An XML file is generated corresponding to each such test case.4. Test Execution :The XML file is parsed using XML parser to extract URL information and the test case is executed automatically using open source Jakarta Http Client integrated with AGENDA. After execution of each update or insertion, AGENDA checks the new database states. Output pages are checked by manual inspection or other tools. The tool in its current form is targeted to the Java Servlet model, using JDBC for database access, and makes some assumptions about programming style. However, the basic technique can be applied to more general servlet styles and other web application languages.8.Regression Tests For Database ApplicationsAny application is constantly going through the process of evolution such as its components getting replaced with more powerful components, various optimizations being incorporated and so on. Whenever such modification is introduced in an application, it is important to check for the integrity of the application and that is the purpose of regression tests. There are various tools built for automating the regression testing procedure, most popular being JUnit framework developed for carrying out regression tests for Java applications. Database applications which are composed of many layers and stacked in various layers are, in particular, subject to constant change for instancere-engineering of business processes, authorization rules being changed etc. Changing database applications is very costly and involves great deal of manual work since there aren’t any tools available that can automatically carrying out regression tests on them.9.Conclusions and Future WorkThe AGENDA tool set was designed and implemented in response to a lack of specific work targeted at testing database application. Prior to AGENDA, various approaches had been proposed and implemented for tackling the issues involved in database testing individually. However, no single tool had been designed to tackle all the issues together by integrating the strategies to handle different issues. AGENDA handles a variety of issues such as test data generation, populating the test database, generating interesting test cases and handling integrity constraints of the application database such as not-Null, uniqueness etc, checking the database state after every modification,executing the test case and validating the output. Besides, later extensions to AGENDA have enhanced its ability improving the state checking and input generation mechanism and enabling the tool to test transactions. AGENDA has also served as an aid in testing web-based database applications. However, there are a lot of issues still to be dealt with and many limitations to be addressed. AGENDA uses semi-automatic technique for generating test data. e.g. For attributes having numeric/real value the sample-value file is generated automatically (Section 2.2.1). However, attributes of string type are not handled. Increasing the extent of automation, extracting more information from the embedded SQL statements in the application program source are some of the important tasks that need attention. The tool for testing web-based applications has a lot of limitations as of now. It can currently handle only applications implemented Java Servlets and HTML pages. Further, it assumes that the application source follows certain programming style. These issues are being addressed to. There is also work going on to extend the tool to handle issues like sessions, cookies etc and test web application security. Regression testing is a well-studied technique in Software engineering, however issues specifically related to database applications haven’t received the deserved attention. The whole topic of testing database applications is still in its infancy. No rigorous methodologies have been devised yet and there are several open issues such as the automatic generation and evolution of test runs, the generation of test databases, and the development of platform independent tools. All these challenges are currently being tackled and efforts are on to make the process of testing database applications efficient.数据库应用程序的测试1.引言数据库中的几乎每一个组织在当今信息化社会中发挥了举足轻重的作用。