Hi.. I will be posting all the testing related stuff here. The content posted here is a collection from different websites.

Saturday, June 14, 2008

1. If I created an application with .pcs extension how will u test in IE?
Ans Pcs is one of the picture storage file extensions like jpeg,bmp etc.So the file should be downloaded and displayed in the same fashion as a bmp or a jpeg file does.

2. How will you test login page? Can we apply sql injection there?
Ans Login page can be tested using the validations framework.Yes we can apply the sql injection if there are too many number of users and these have to be crosschecked with the database values.

3. How will you change java script in IE?
Ans Open java script file in IE ..then go to View - > source

4. Can IE 3.,IE 4,IE 5,IE 6 work simultaneously on same computer
Ans No it is not possible

5 If I wrote a program , that has to work for Korea language but it is showing English words in the application ?what might have gone wrong
Ans The language console has to be changed

6. How do an org know that their page is viewed?
Ans If it is asp.net -> In global.asa file we have to set application scope -> create and initialize the page hit counter object.

7.How to kill a process in windows with out using UI (i.e. Task Manager)?
Ans By using Kill utility.This is the command we have to use kill processid

8. How can you do that in LINX OS?
Ans Kill system call

9. How do you change the DATE of the computer system with out using UI (i.e. At command prompt)?
Ans At the time of booting-> select the setup option -> System settings

10. How do you test a Login page which contains a username and password fields and a submit button?
Ans The username & password can be tested using the validations framework.Submit button can be tested using the actions framework.

11. If you are a Test Manager, How do you limit the size of password and username fields?
Ans Using Boundary value analysis


12.How do you improve your computer performance while you are testing an application
Ans. Do not open multiple instances of the application

13 How is the security works between Browser and Webserver(Certificate)?
Ans Using SSL ( https)

14 Difference between boxing and un boxing?(.Net or Java 1.5)?
Ans Boxing means coverts primitive data values to Objects.
Unboxing is nothing but Object to primitive.

15 Command to find Linux version, IP Address?
Ans ifconfig

16. What's the length of IP Address?
Ans 32 bit

17 can u open msaccess file through excel
Ans Yes …


18 How do you track testing of applications?
Ans For tracking the testcases we generally use a QA workshop(website where the testcases and its status is updated)
For tracking the bugs we use a bug tracking tool

19 How do you ensure that testing is enough for an application?
Ans When the entry and exit criteria is fulfilled

20 How do you test the Windows Update process?
Ans By verifying the sizes and timestamps of the files which got updated.

21 How can you access/change username and password of windows users?
Ans . Right Click on My Computer ->Manage ->Local users and Groups ->Users

22 Difference between .EXE and .DLL?
Ans Exe is an executable file which can be used to run any application on windows platform.
DLL is a set of libraries which is used to support the exe file.


These answers I will send on Monday :-

1. What are test cases for yahoo messenger?
What is proxy



12. some brief testcases to test security?
13. How do you test Javascript?

14. List the testcases for a Login page ?

15. Write various testcases to test a NotePad and how do you perform Load test?

How do you test the desktop calculator

16. How do you test DeskTop applications?


17. How do test the Installations

18. How do test the Winamp software?

how do u debug windows application

19. write test cases for ‘Down loading and install real player software in local machine’?

20. write test cases for standalone system?

21. test cases for winword/paint
22. test cases for - how do u write test cases for installation of application
23. how do u test word app in browser
1. Tell me about your current project?
I have straight away started with my current project
Global OutLook:--
This is an Microsoft’s project which includes a bunch of administrators ,resellers ,Organizations and users .The core idea of this project is to promote an corporate mail i.e., suppose If we consider Our company Symbiosys technologies i.e. we to our employee id as emp@sys.com so ,we have to create and the whole burden is on the company for creating users.
So, if at all we got a site where already these burden was taken by the Global Outlook the only thing we have to do is just register our company and basing on our preferences we have to pay to GO.

2. Tell me about your roles in testing your project?
This project has four levels first the GO administrator, His responsibility is to create resellers, check out the various options created by users, and create other administrators.
The reseller role is to create organizations along with reseller administrators
The organizations can be created through reseller or by sign up page
And billing will be done only if he registers through sign up page. There he can choose between free 30 days trail period or the full package.
Finally the user’s login where he can only send mails and change his details.

My role is to test whether the preference selected by the organizations are assigned properly or not, check for various permissions for different role as mentioned earlier ,check whether the billing is done properly basing on the organization’s choice with respect to database.

So, finally he told that so this is an internet mailing system and I h ave answered exactly sir.

3. Tell me about your self?
I have graduated in computer science and engineering from Raghu Engineering college in the year 2005 and since the have been working with Symbiosys technologies as a test engineer.
The he enquired where about of my college.

4. What is a cookie?
I stared that cookies are small text files placed on our computer by the web server to uniquely identify the web browser or the computer to which the server had to return the web page.
This makes the server to stack the pages in future may be requested by the user
This saves the time for web page retrieval. And instead of requesting the users choice for every page these can be used for page validation.




5. What is java script?
o Java script is a scripting language used for client side validations.
o This is an interpreted language.
o This can be used for validation on forms.
o Check for the simple calculations.
o Can be use for blocking certain fields being entered by the user.
o Generally the scripts are embedded into html code.
o However, there are uses for javascript:
• Browser Detection
Detecting the browser used by a visitor at your page. Depending on the browser, another page specifically designed for that browser can then be loaded.
• Cookies
Storing information on the visitor's computer, then retrieving this information automatically next time the user visits your page. This technique is called "cookies".
• Control Browsers
Opening pages in customized windows, where you specify if the browser's buttons, menu line, status line or whatever should be present.
• Validate Forms
Validating inputs to fields before submitting a form.
An example would be validating the entered email address to see if it has an @ in it, since if not, it's not a valid address.

6. How can developer handle the situation if the script is disabled?
I told that these are the serious problems with java script and if it is disabled we cannot access the pages objects , He then asked me that have u tried these with g mail but I told that I have tried all these with my project and if the script is disabled we cannot access these object in the web page.
So, a solution may be the developer give some pop up message to user to enable java script.(This may not be the right solution so, please know it for ur self )

7. Where do you disable the script?
ToolsInternet options  security  custom level  change properties of java script disable them.



8. What are test cases for yahoo messenger?
I told that usability, compatibility, performance, password hacking in security, various resolutions, voice mail, web camera functionality etc.

9. What is sql injection?
This is process of getting required information through SQL command


10. What is registry?
It is a collection of users information, system configuration , database various software and hardware information.
Registry consists of hives --> keys sub keys values  binary ,word and string.
11. What is Linux scripting?
I told that i just know basic Linux internal commands and not much scripting as I was working on windows.
Q: What is UTF-16?
A: UTF-16 uses a single 16-bitcode unit to encode the most common 63K characters, and a pair of 16-bit code unites, called surrogates, to encode the 1M less commonly used characters in Unicode.
Originally, Unicode was designed as a pure 16-bit encoding, aimed at representing all modern scripts. (Ancient scripts were to be represented with private-use characters.) Over time, and especially after the addition of over 14,500 composite characters for compatibility with legacy sets, it became clear that 16-bits were not sufficient for the user community. Out of this arose UTF-16. [AF]
Q: What is the definition of UTF-8?
A. UTF-8 is the byte-oriented encoding form of Unicode. For details of its definition, see Section 2.5 “Encoding Forms” and Section 3.9 “ Unicode Encoding Forms ” in the Unicode Standard. See, in particular, Table 3-5 UTF-8 Bit Distribution and Table 3-6 Well-formed UTF-8 Byte Sequences, which give succinct summaries of the encoding form. Also see sample code which implements conversions between UTF-8 and other encoding forms. Make sure you refer to the latest version of the Unicode Standard, as the Unicode Technical Committee has tightened the definition of UTF-8 over time to more strictly enforce unique sequences and to prohibit encoding of certain invalid characters. There is an Internet RFC 3629 about UTF-8. UTF-8 is also defined in Annex D of ISO/IEC 10646. [MD Q: Can Unicode text be represented in more than one way?
A: Yes, there are several possible representations of Unicode data, including UTF-8, UTF-16 and UTF-32. In addition, there are compression transformations such as the one described in the Unicode Technical Report #6: A Standard Compression Scheme for Unicode. [MD]
Q: What is a UTF?
A: A Unicode transformation format (UTF) is an algorithmic mapping from every Unicode code point (except surrogate code points) to a unique byte sequence. The ISO/IEC 10646 standard uses the term “UCS transformation format” for UTF; the two terms are merely synonyms for the same concept.
Each UTF is reversible, thus every UTF supports lossless round tripping: mapping from any Unicode coded character sequence S to a sequence of bytes and back will produce S again. To ensure round tripping, a UTF mapping must also map all code points that are not valid Unicode characters to unique byte sequences. These invalid code points are the 66 noncharacters (including FFFE and FFFF), as well as unpaired surrogates.
The SCSU compression method, even though it is reversible, is not a UTF because the same string can map to very many different byte sequences, depending on the particular SCSU compressor

What is the difference between SSH and SSL?
________________________________________
SSH (Secure Shell) and SSL (Secure Sockets Layer) can both be used to secure communications across the Internet. This page tries to explain the differences between the two in easily understood terms.
SSL was designed to secure web sessions; it can do more, but that's the original intent.
SSH was designed to replace telnet and FTP; it can do more, but that's the original intent.
SSL is a drop-in with a number of uses. It front-ends HTTP to give you HTTPS. It can also do this for POP3, SMTP, IMAP, and just about any other well-behaved TCP application. It's real easy for most programmers who are creating network applications from scratch to just grab an SSL implementation and bundle it with their app to provide encryption when communicating across the network via TCP. Check out: stunnel.org.
SSH is a swiss-army-knife designed to do a lot of different things, most of which revolve around setting up a secure tunnel between hosts. Some implementations of SSH rely on SSL libraries - this is because SSH and SSL use many of the same encryption algorithms (i.e. TripleDES).
SSH is not based on SSL in the sense that HTTPS is based on SSL. SSH does much more than SSL, and they don't talk to each other - the two are different protocols, but have some overlap in how they accomplish similiar goals.
SSL by itself gives you nothing - just a handshake and encryption. You need an application to drive SSL to get real work done.
SSH by itself does a whole lot of useful stuff that allows users to perform real work. Two aspects of SSH are the console login (telnet replacement) and secure file transfers (ftp replacement), but you also get an ability to tunnel (secure) additional applications, enabling a user to run HTTP, FTP, POP3, and just about anything else THROUGH an SSH tunnel.
Without interesting traffic from an application, SSL does nothing. Without interesting traffic from an application, SSH brings up an encrypted tunnel between two hosts which allows you to get real work done through an interactive login shell, file transfers, etc.
Last comment: HTTPS does not extend SSL, it uses SSL to do HTTP securely. SSH does much more than SSL, and you can tunnel HTTPS through it! Just because both SSL and SSH can do TripleDES doesn't mean one is based on the other.


As a parent you may have concerns about the content your children encounter as they surf the Web. Internet Explorer 6 helps you safeguard your family's browsing experience with Content Advisor, which can be used to control the Web sites that your family can view. With Content Advisor, you can give your children access to a specific list of Web sites that you allow and prevent them from accessing others. Find out how to use it so you can rest easier.

Test suite
From Wikipedia, the free encyclopedia
(Redirected from Executable test suite)
Jump to: navigation, search
To meet Wikipedia's quality standards and make it more accessible to a general audience, this article may require cleanup.
The introduction to this article provides insufficient context for those unfamiliar with the subject matter.
Please help Wikipedia by improving the introduction according to the guidelines laid out at Wikipedia:Guide to layout. You can discuss the issue on the talk page.

The most common term for a collection of test cases is a test suite. The test suite often also contains more detailed instructions or goals for each collection of test cases. It definitely contains a section where the tester identifies the system configuration used during testing. A group of test cases may also contain prerequisite states or steps, and descriptions of the following tests.
Collections of test cases are sometimes incorrectly termed a test plan. They may also be called a test script, or even a test scenario.
An executable test suite is a test suite that is ready to be executed. This usually means that there exists a test harness that is integrated with the suite and such that the test suite and the test harness together can work on a sufficiently detailed level to correctly communicate with the system under test (SUT).
The counterpart of an executable test suite is an abstract test suite. However, often terms test suites and test plans are used, roughly with the same meaning as executable and abstract test suites, respectively.
[edit]
See also
test harness
In software testing, a test harness is a collection of software tools and test data configured to test a program unit by running it under varying conditions and monitor its behavior and outputs. It has two main parts namely, Test execution engine and the test script repository.
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)
localization
Customizing software and documentation for a particular country. It includes the translation of menus and messages into the native spoken language as well as changes in the user interface to accommodate different alphabets and culture. See internationalization and l10n
globalization
Operating around the world. Although many large companies have globalized for decades, the Web, more than any other phenomenon, has enabled the smallest company to have a global presence. See localization.
internationalization
The support for monetary values, time and date for countries around the world. It also embraces the use of native characters and symbols in the different alphabets. See localization, i18n, Unicode and IDN
Briefcase
In Windows 95/98, a system folder used for synchronizing files between two computers, typically a desktop and laptop computer. Files to be worked on are placed into a Briefcase, which is then transferred to the second machine via floppy, cable or network. The Briefcase is then brought back to the original machine after its contents have been edited on the second machine, and a special update function replaces the original files with the new ones.





DNS
(Domain Name System) A system for converting host names and domain names into IP addresses on the Internet or on local networks that use the TCP/IP protocol. For example, when a Web site address is given to the DNS either by typing a URL in a browser or behind the scenes from one application to another, DNS servers return the IP address of the server associated with that name.
In this hypothetical example, WWW.COMPANY.COM would be converted into the IP address 204.0.8.51. Without DNS, you would have to type the four numbers and dots into your browser to retrieve the Web site, which of course, you can do. Try finding the IP of a favorite Web site and type in the dotted number instead of the domain name!
Your continued donations keep Wikipedia running!
Web crawler
From Wikipedia, the free encyclopedia
Jump to: navigation, search

It has been suggested that this article or section be merged with Spidering. (Discuss)

See WebCrawler for the specific search engine of that name.
A web crawler (also known as a web spider or web robot) is a program which browses the World Wide Web in a methodical, automated manner. Other less frequently used names for web crawlers are ants, automatic indexers, bots, and worms (Kobayashi and Takeda, 2000).
Web crawlers are mainly used to create a copy of all the visited pages for later processing by a search engine, that will index the downloaded pages to provide fast searches. Crawlers can also be used for automating maintenance tasks on a web site, such as checking links or validating HTML code. Also, crawlers can be used to gather specific types of information from Web pages, such as harvesting e-mail addresses (usually for spam).
A web crawler is one type of bot, or software agent. In general, it starts with a list of URLs to visit, called the seeds. As the crawler visits these URLs, it identifies all the hyperlinks in the page and adds them to the list of URLs to visit, called the crawl frontier. URLs from the frontier are recursively visited according to a set of policies


Spidering
From Wikipedia, the free encyclopedia
Jump to: navigation, search

It has been suggested that this article or section be merged into Web Crawler. (Discuss)
"Spidering" is the process of using an automated script or bot to go to one or many websites and pull information to be stored for later use. The script can be targeted towards any set of information desired by the author.
Many legitimate sites use spidering as a means of providing up to date data. Froogle is a good example -- type a product into the froogle search and froogle will spider sites to retrieve the most current prices available.
As spiders can search data much quicker and in greater depth than human searches, they can have a crippling impact on the performance of a site. Needless to say if a single spider is performing multiple searches per second and demanding full result sets, a server would have a hard time keeping up with requests from multiple spiders.
"Spidering" is a synonym for "web crawling" (see "Web Crawler").

Search


Focus on Linux grep Command



Related Terms
• awk Command






Definition: Unix command "grep" allows you to search for a pattern in a list of files. Such patterns are specified as "regular expressions", which in their simplest form are "strings", such as words or sentence fragments.
The way we search for a string with grep is to put the words we are searching for together in single quotes.
• The syntax: % grep pattern file-name-1 file-name-2 …file-name-n
• An example: % grep 'mountain bike' sports hobbies
As a result of entering this command the operating system will print all the lines in the file "sports" and the file "hobbies" that contain the string "mountain bike". By default the line will be printed on the computer screen (in the shell window, where the command was issued).






How a Web Server Works
You can see from this description that a Web server can be a pretty simple piece of software. It takes the file name sent in with the GET command, retrieves that file and sends it down the wire to the browser. Even if you take into account all of the code to handle the ports and port connections, you could easily create a C program that implements a simple Web server in less that 500 lines of code. Obviously, a full-blown enterprise-level Web server is more involved, but the basics are very simple.
Most servers add some level of security to the serving process. For example, if you have ever gone to a Web page and had the browser pop up a dialog box asking for your name and password, you have encountered a password-protected page. The server lets the owner of the page maintain a list of names and passwords for those people who are allowed to access the page; the server lets only those people who know the proper password to see the page. More advanced servers add further security to allow an encrypted connection between server and browser, so that sensitive information like credit card numbers can be sent on the Internet.

How Search Engines Work
By Danny Sullivan, Editor-In-Chief
October 14, 2002
The term "search engine" is often used generically to describe both crawler-based search engines and human-powered directories. These two types of search engines gather their listings in radically different ways.
Crawler-Based Search Engines
Crawler-based search engines, such as Google, create their listings automatically. They "crawl" or "spider" the web, then people search through what they have found.
If you change your web pages, crawler-based search engines eventually find these changes, and that can affect how you are listed. Page titles, body copy and other elements all play a role.
Human-Powered Directories
A human-powered directory, such as the Open Directory, depends on humans for its listings. You submit a short description to the directory for your entire site, or editors write one for sites they review. A search looks for matches only in the descriptions submitted.
Changing your web pages has no effect on your listing. Things that are useful for improving a listing with a search engine have nothing to do with improving a listing in a directory. The only exception is that a good site, with good content, might be more likely to get reviewed for free than a poor site.
"Hybrid Search Engines" Or Mixed Results
In the web's early days, it used to be that a search engine either presented crawler-based results or human-powered listings. Today, it extremely common for both types of results to be presented. Usually, a hybrid search engine will favor one type of listings over another. For example, MSN Search is more likely to present human-powered listings from LookSmart. However, it does also present crawler-based results (as provided by Inktomi), especially for more obscure queries.

Win Registry
Starting with Windows 95, the Registry is a database that holds configuration data about the hardware and environment of the PC. It is made up of the SYSTEM.DAT and USER.DAT files.
The Registry can be edited directly, but that is usually only done for very technical enhancements or as a last resort. Routine access is done via the Windows control panels through the Properties option. Right clicking on almost every icon in Windows brings you the option of selecting Properties. See Win Properties.
Registry Details
To get into the Registry itself, run the Registry Editor program (REGEDIT.EXE) from the Run command in the Start menu. The Registry contains five folders. In Windows 95/98, there is a sixth folder.
Database normalization

In relational databases, normalization is a process that eliminates redundancy, organizes data efficiently, and reduces the potential for anomalies during data operations and improves data consistency. The formal classifications for quantifying "how normalized" a relational database are called normal forms (abbrev. NF).
A non-normalized database is vulnerable to data anomalies because it stores data redundantly. If data is stored in two locations, but later is updated in only one of the locations, then the data is inconsistent; this is referred to as an "update anomaly". A normalized database stores non-primary key data in only one location.
Normalized databases have a design that reflects the true dependencies between tracked quantities, allowing quick updates to data with little risk of introducing inconsistencies. Instead of attempting to lump all information into one table, data is spread out logically into many tables.

near pointer
In an x86 segmented address, a memory address within a single segment (the offset). Contrast with far pointer.

far pointer
In an Intel x86 segmented address, a memory address that includes both segment and offset. Contrast with near pointer.
DATABASE 2) A relational DBMS from IBM that was originally developed for its mainframes. It is a full-featured SQL language DBMS that has become IBM's major database product. Known for its industrial strength reliability, IBM has made DB/2 available for all of its own platforms, including OS/2, OS/400, AIX (RS/6000) and OS/390, as well as for Solaris on Sun systems and HP-UX on HP 9000 workstations and servers. See DB2 UDB.


Microsoft SQL Server
A relational DBMS from Microsoft that runs on Windows NT servers. It is Microsoft's high-end client/server database and a key component in its BackOffice suite of server products. SQL Server was originally developed by Sybase and also sold by Microsoft for OS/2 and NT. In 1992, Microsoft began development of its own version. Today, Microsoft SQL Server and Sybase SQL Server are independent products with some compatibility.
ipv4 is version 4 of the Internet Protocol (IP) and it is the first version of the Internet Protocol to be widely deployed. IPv4 is the dominant network layer protocol on the internet and when ignoring its successor — IPv6 — it is the only protocol used on the internet.
It is described in IETF RFC 791 (September 1981) which obsoleted RFC 760 (January 1980). The United States Department of Defense also standardized it as MIL-STD-1777.
IPv4 is a data-oriented protocol to be used on a packet switched internetwork (e.g., Ethernet). It is a best effort protocol in that it doesn't guarantee delivery. It doesn't make any guarantees on the correctness of the data; it may result in duplicated packets and/or packets out-of-order. All of these things are addressed by an upper layer protocol (e.g., TCP, UDP).
The entire purpose of IP is to provide unique global computer addressing to ensure that two computers over the internet can uniquely identify one another

some concepts:

HTTP
The Hypertext Transfer Protocol is the set of rules for exchanging files (text, graphic images, sound, video, and other multimedia files) on the World Wide Web.
Hypertext Transfer Protocol (HTTP) is the method used to transfer or convey information on the World Wide Web. It is a patented open internet protocol whose original purpose was to provide a way to publish and receive HTML pages.

HTTPS
HTTP Over SSL. Protocol enabling the secured transmission of Web pages.
Https is a URI scheme which is syntactically identical to the http: scheme normally used for accessing resources using HTTP. Using an https: URL indicates that HTTP is to be used, but with a different default port and an additional encryption/authentication layer between HTTP and TCP. This system was invented by Netscape Communications Corporation to provide authentication and encrypted communication and is widely used on the Web for security-sensitive communication, such as payment transactions.

How secure is HTTPS over HTTP?
HTTPS is significantly more secure than http. The main three differences are
http doesn't encrypt. Https encrypts all the data going to the server. In either case someone can intercept the data between you and the server, but the encryption with https ensures that they can't do anything with it.
Http doesn't care what server you connect to. Https verifies the server against the certificate. If you double click on the padlock icon in internet explorer (To tell if your Internet Explorer browser is viewing a secure web site, look in the lower right part of the window. There is a small box in the frame of the window to the left of the area that describes which Zone you are in (usually the Internet zone, with a globe icon). If you see a yellow padlock icon, then the web site you are viewing is a "secure web site." If the box is empty, then the web site does not have a secure connection with your browser.) You can see who the server belongs to and be confident that your card details are going to the right people. Better than that if the server address and certificate disagree, your browser will warn you that they don't match and gives you the opportunity to leave before you've given any information away.
Http pages are stored on your computer and internet caches. The pages load faster, but they are stored on systems that you potentially don't have control over (your ISP's caching proxy or that internet cafe computer for example). Https pages aren't cached anywhere. Therefore there are no copies of your data hanging around to be retrieved later.

SSL
Short for Secure Sockets Layer, a protocol developed by Netscape for transmitting private documents via the Internet. SSL uses a cryptographic system that uses two keys to encrypt data − a public key known to everyone and a private or secret key known only to the recipient of the message. Both Netscape Navigator and Internet Explorer support SSL, and many Web sites use the protocol to obtain confidential user information, such as credit card numbers. By convention, URLs that require an SSL connection start with https: instead of http:
Another protocol for transmitting data securely over the World Wide Web is Secure HTTP (S-HTTP). Whereas SSL creates a secure connection between a client and a server, over which any amount of data can be sent securely, S-HTTP is designed to transmit individual messages securely. SSL and S-HTTP, therefore, can be seen as complementary rather than competing technologies. Both protocols have been approved by the Internet Engineering Task Force (IETF) as a standard.

SSH
Developed by SSH Communications Security Ltd., Secure Shell is a program to log into another computer over a network, to execute commands in a remote machine, and to move files from one machine to another. It provides strong authentication and secure communications over insecure channels. It is a replacement for rlogin, rsh, rcp, and rdist.
SSH protects a network from attacks such as IP spoofing, IP source routing, and DNS spoofing. An attacker who has managed to take over a network can only force ssh to disconnect. He or she cannot play back the traffic or hijack the connection when encryption is enabled.
When using ssh's slogin (instead of rlogin) the entire login session, including transmission of password, is encrypted; therefore it is almost impossible for an outsider to collect passwords.
SSH is available for Windows, Unix, Macintosh, and OS/2, and it also works with RSA authentication.

IP spoofing
A technique used to gain unauthorized access to computers, whereby the intruder sends messages to a computer with an IP address indicating that the message is coming from a trusted host. To engage in IP spoofing, a hacker must first use a variety of techniques to find an IP address of a trusted host and then modify the packet headers so that it appears that the packets are coming from that host.
Newer routers and firewall arrangements can offer protection against IP spoofing.

Router
A device that forwards data packets along networks. A router is connected to at least two networks, commonly two LANs or WANs or a LAN and its ISPs network. Routers are located at gateways, the places where two or more networks connect.
Routers use headers and forwarding tables to determine the best path for forwarding the packets, and they use protocols such as ICMP to communicate with each other and configure the best route between any two hosts.
Very little filtering of data is done through routers.

HTTP server
A computer permanently connected to the Internet on which websites are stored and can be accessed at any time.

Web Server
A computer, including software package that provides a specific kind of service to client software running on other computers. More specifically, a server is a computer that manages and shares web based applications accessible anytime from any computer connected to the Internet.
A Web Server is a computer on the World Wide Web (connected to the Internet Backbone) that stores HTML documents that can be retrieved via a Web browser.

Web browser
Is a software application used to locate and display Web pages.
A browser is an application that provides a way to look at and interact with all the information on the World Wide Web. Technically, a web browser uses HTTP to make requests of web servers throughout the Internet on behalf of the browser user.
Mosaic was the first browser.
A web browser is a software application that enables a user to display and interact with text, images, and other information typically located on a web page at a website on the World Wide Web or a local area network. Text and images on a web page can contain hyperlinks to other web pages at the same or different websites. Web browsers allow a user to quickly and easily access information provided on many web pages at many websites by traversing these links.
Popular browsers available for personal computers include Mozilla Firefox, Microsoft Internet Explorer, Opera, Netscape, and Apple Safari. Web browsers are the most commonly used type of HTTP user agent. Although browsers are typically used to access the World Wide Web, they can also be used to access information provided by web servers in private networks or content in file systems.

World Wide Web
The World Wide Web ("WWW" or simply the "Web") is a global, read-write information space. Text documents, images, multimedia and many other items of information, referred to as resources, are identified by short, unique, global identifiers called Uniform Resource Identifiers (URIs) so that each can be found, accessed and cross-referenced in the simplest possible way.
The term is often mistakenly used as a synonym for the Internet itself, but the Web is actually something that is available over the Internet, just like e-mail and many other Internet services.

The Difference between the Internet and the World Wide Web
Many people use the terms Internet and World Wide Web (a.k.a. the Web) interchangeably, but in fact the two terms are not synonymous. The Internet and the Web are two separate but related things.
The Internet is a massive network of networks, a networking infrastructure. It connects millions of computers together globally, forming a network in which any computer can communicate with any other computer as long as they are both connected to the Internet. Information that travels over the Internet does so via a variety of languages known as protocols.
The World Wide Web, or simply Web, is a way of accessing information over the medium of the Internet. It is an information-sharing model that is built on top of the Internet. The Web uses the HTTP protocol, only one of the languages spoken over the Internet, to transmit data. Web services, which use HTTP to allow applications to communicate in order to exchange business logic, use the Web to share information. The Web also utilizes browsers, such as Internet Explorer or Netscape, to access Web documents called Web pages that are linked to each other via hyperlinks. Web documents also contain graphics, sounds, text and video.
The Web is just one of the ways that information can be disseminated over the Internet. The Internet, not the Web, is also used for e-mail, which relies on SMTP, Usenet news groups, instant messaging and FTP. So the Web is just a portion of the Internet, albeit a large portion, but the two terms are not synonymous and should not be confused.

XHTML
eXtensible HyperText Markup Language; a reformulation of HTML and the successor to it, allowing a true separation between the content of a Web page and its manner of presentation.
It is a hybrid between HTML and XML specifically designed for Net device displays.
XHTML is a markup language written in XML; therefore, it is an XML application.

HTML
HTML (Hypertext Mark-up Language) is the simple programming language inserted in a file intended for display on the World Wide Web. The mark-up tells a web browser how to format and display a web page's content.
HyperText Markup Language (HTML) is a markup language designed for the creation of web pages with hypertext and other information to be displayed in a web browser. HTML is used to structure information — denoting certain text as headings, paragraphs, lists and so on — and can be used to describe, to some degree, the appearance and semantics of a document.
HyperText Markup Language, the authoring language used to create documents on the World Wide Web. HTML defines the structure and layout of a Web document by using a variety of tags and attributes.

Paging
The action of transferring instructions, data, or both between real storage and external page storage.
A technique used by virtual memory operating systems to help ensure that the data you need is available as quickly as possible. The operating system copies a certain number of pages from your storage device to main memory. When a program needs a page that is not in main memory, the operating system copies the required page into memory and copies another page back to the disk. One says that the operating system pages the data. Each time a page is needed that is not currently in memory, a page fault occurs.
Paging memory allocation algorithms divide computer memory into small partitions, and allocates memory using a page as the smallest building block.
A key advantage that this method has is that the memory allocated to a program does not have to be contiguous, and because of that, there is very little external fragmentation - thus little memory is wasted.
Because programs rarely use all parts of their code and data at one point in time, the concept of virtual memory can be implemented by writing pages to disk, and reading pages from disk when they are needed. This is another advantage of paging over other memory allocation techniques.
This type of virtual memory is called paged virtual memory. Another form of virtual memory is segmented virtual memory.

Virtual memory
An imaginary memory area supported by some operating systems (for example, Windows but not DOS) in conjunction with the hardware. You can think of virtual memory as an alternate set of memory addresses. Programs use these virtual addresses rather than real addresses to store instructions and data. When the program is actually executed, the virtual addresses are converted into real memory addresses. The purpose of virtual memory is to enlarge the address space, the set of addresses a program can utilize. For example, virtual memory might contain twice as many addresses as main memory. A program using all of virtual memory, therefore, would not be able to fit in main memory all at once. Nevertheless, the computer could execute such a program by copying into main memory those portions of the program needed at any given point during execution. To facilitate copying virtual memory into real memory, the operating system divides virtual memory into pages, each of which contains a fixed number of addresses. Each page is stored on a disk until it is needed. When the page is needed, the operating system copies it from disk to main memory, translating the virtual addresses into real addresses. The process of translating virtual addresses into real addresses is called mapping. The copying of virtual pages from disk to main memory is known as paging or swapping.

Indexing
The process of converting a collection of data into a database suitable for easy search and retrieval. Often used to refer to the automatic selection and compilation of ‘meaningful’ words from a website into a list that can be used by a search system to retrieve pages. This list is more properly called a concordance. As this procedure involves no intellectual effort indexers distinguish their own work by calling it intellectual indexing, manual indexing, human indexing, or back-of-book-style indexing.

Differences between XML and HTML







Multitasking
A mode of operation offered by an operating system in which a computer works on more than one task or application at a time. Also can describe people who excel at juggling several tasks at once, as opposed to those who work from task to task in a linear fashion.
The ability to execute several parts of a program in parallel (or apparently in parallel).
The ability of an operating system to run more than one program simultaneously, allowing the user to easily switch and share information between applications.

Multithreading
A process that allows a multitasking operating system to multitask subportions (threads) of an application smoothly.
A form of parallelism where multiple threads run concurrently and communicate via shared memory.
A capability of a processor core to switch to another processing thread, i.e. a set of logically connected instructions that make up a (part of) a process. This capability is used when a process thread stalls, for instance because necessary data are not yet available. Switching to another thread that has instructions that can be executed will yield a better processing utilization.

Multiprocessing
Refers to a computer system's ability to support more than one process (program) at the same time. Multiprocessing operating systems enable several programs to run concurrently. UNIX is one of the most widely used multiprocessing systems, but there are many others, including OS/2 for high-end PCs. Multiprocessing systems are much more complicated than single-process systems because the operating system must allocate resources to competing processes in a reasonable manner. Involves more than one processor within a computer for processing more than one program simultaneously.

Globalization Testing
Describes how globalization testing ensures the application can function in any culture/locale. The goal of globalization testing is to make sure that the code can handle all international support without breaking functionality that would cause either data loss or display problems. Globalization testing checks proper functionality of the product with any of the culture/locale settings using every type of international input possible.

Localizability Testing
Describes how localizability testing verifies that you can easily translate the user interface of the program to any target language without re-engineering or modifying code.

Localization Testing
Localization translates the product UI and occasionally changes some initial settings to make it suitable for another region. Localization testing checks the quality of a product's localization for a particular target culture/locale. This test is based on the results of globalization testing, which verifies the functional support for that particular culture/locale. Localization testing can be executed only on the localized version of a product. Localizability testing does not test for localization quality.

BYTECODE
Machine-independent code generated by the Java compiler and executed by the Java interpreter.The compiled format for Java programs. Once a Java program has been converted to bytecode, it can be transferred across a network and executed by Java Virtual Machine (VM). Bytecode files generally have a .class extension.
A name given to a class of language intended for easy evaluation by a software interpreter. Bytecodes are most common in interpreted languages (such as Prolog, elisp, perl and many of the variants of ML), and get their name from the common practice of encoding their instructions as single bytes, to allow the interpreter to quickly look up an instruction's meaning. ...

Overloading
Giving multiple meanings to the same name, but making them distinguishable by context. For example, two procedures with the same name are overloading that name as long as the compiler can determine which one you mean from contextual information such as the type and number of parameters that you supply when you call it.


Overriding
Providing a declaration which matches another declaration of the same name, thereby hiding the existing declaration.
Providing a different implementation of a method in a subclass of the class that originally defined the method.
Overriding occurs when a method definition in the class definition of a subclass redefines a method that would otherwise be inherited from a superclass definition. The overriding method must have the same identifier and signature (including return type) as the method in the superclass definition.

Apache
Apache is an open-source (source code is freely available and can be shared) HTTP Web server software. It is currently the most popular web server on the Net. It is usually run on Unix operating system versions like Linux or BSD, but it can also be run on Windows. It is a full-featured server with many powerful add-ons freely available. Apache's major competitor is Microsoft's IIS.
Apache is a freely available Unix based web server. It is currently the most commonly used server on Internet connected sites. Its genesis was in early 1995 when developers of some high visibility web sites decided to pool their patches and enhancements to the NCSA/1.3 server to create a patchy server. The project has since gained considerable momentum.It supports the PERL and PHP languages.

IP (Internet Protocol)
A data-oriented protocol used for communicating data across a packet-switched internetwork.
The Internet Protocol (IP) is the method or protocol by which data is sent from one computer to another on the Internet. Each computer (known as a host) on the Internet has at least one IP address that uniquely identifies it from all other computers on the Internet. When you send or receive data (for example, an e-mail note or a Web page), the message gets divided into little chunks called packets. Each of these packets contains both the sender's Internet address and the receiver's address. Any packet is sent first to a gateway computer that understands a small part of the Internet. The gateway computer reads the destination address and forwards the packet to an adjacent gateway that in turn reads the destination address and so forth across the Internet until one gateway recognizes the packet as belonging to a computer within its immediate neighborhood or domain. That gateway then forwards the packet directly to the computer whose address is specified.

Gateway
A gateway is a network point that acts as an entrance to another network. On the Internet, a node or stopping point can be either a gateway node or a host (end-point) node. Both the computers of Internet users and the computers that serve pages to users are host nodes. The computers that control traffic within your company's network or at your local Internet service provider (ISP) are gateway nodes.
In the network for an enterprise, a computer server acting as a gateway node is often also acting as a proxy server and a firewall server. A gateway is often associated with both a router, which knows where to direct a given packet of data that arrives at the gateway, and a switch, which furnishes the actual path in and out of the gateway for a given packet.



IP ADDRESS
Each machine connected to the Internet has an address known as an Internet Protocol address (IP address). The IP address takes the form of four numbers separated by dots, for example: 123.45.67.890
An IP address is a 32-bit number that identifies each sender or receiver of information that is sent in packets across the Internet.
An IP address has two parts: the identifier of a particular network on the Internet and an identifier of the particular device (which can be a server or a workstation) within that network. To be part of the Internet, an organization needs an Internet network number, which it can request from the Network Information Center (NIC). This unique network number is included in any packet sent out of the network onto the Internet.
In addition to the network address or number, information is needed about which specific machine or host in a network is sending or receiving a message. So the IP address needs both the unique network number and a host number (which is unique within the network). (The host number is sometimes called a local or machine address.)
Part of the local address can identify a subnetwork or subnet address, which makes it easier for a network that is divided into several physical subnetworks (for examples, several different local area networks or ) to handle many devices.
Effectively, the IP address then contains three parts: the network number, the subnet number, and the machine number.
IP Address Classes and Their Formats
Since networks vary in size, there are four different address formats or classes to consider when applying to NIC for a network number:
• Class A addresses are for large networks with many devices.
• Class B addresses are for medium-sized networks.
• Class C addresses are for small networks (fewer than 256 devices).
• Class D addresses are multicast addresses.
The first few bits of each IP address indicate which of the address class formats it is using
What is a firewall?
A system designed to prevent unauthorized access to or from a private network. Firewalls can be implemented in both hardware and software, or a combination of both. Firewalls are frequently used to prevent unauthorized Internet users from accessing private networks connected to the Internet, especially intranets. All messages entering or leaving the intranet pass through the firewall, which examines each message and blocks those that do not meet the specified security criteria.
There are several types of firewall techniques:
• Packet filter: Looks at each packet entering or leaving the network and accepts or rejects it based on user-defined rules. Packet filtering is fairly effective and transparent to users, but it is difficult to configure. In addition, it is susceptible to IP spoofing.
• Application gateway: Applies security mechanisms to specific applications, such as FTP and Telnet servers. This is very effective, but can impose performance degradation.
• Circuit-level gateway: Applies security mechanisms when a TCP or UDP connection is established. Once the connection has been made, packets can flow between the hosts without further checking.
• Proxy server: Intercepts all messages entering and leaving the network. The proxy server effectively hides the true network addresses.
In practice, many firewalls use two or more of these techniques in concert.
A firewall is considered a first line of defense in protecting private information. For greater security, data can be encrypted.
A firewall is a hardware or software solution to enforce security policies. In the physical security analogy, a firewall is equivalent to a door lock on a perimeter door or on a door to a room inside of the building
- A gateway which permits only authorized users such as those with a key or access card to enter. A firewall has built-in filters that can disallow unauthorized or potentially dangerous material from entering the system. It also logs attempted intrusions. Gateway that limits access between networks in accordance with local security policy.

Difference between firewall and proxy in networking?
The word proxy means "to act on behalf of another," and a proxy server acts on behalf of the client and the server. All requests from the clients to the Internet go to the proxy server first. The proxy evaluates them, and if allowed, re-establishes the requests on the outbound side to the Internet. Likewise, responses or initial requests coming from the Internet go to the proxy server to be evaluated. The proxy then talks to the client. Both client and server think they are communicating with one another, but, in fact, are dealing only with the proxy.
Whereas a firewall is a piece of hardware and/or software which functions in a networked environment to prevent some communications forbidden by the security policy.
Proxy may refer to something which acts on behalf of something else.
Proxy servers have two main purposes:
• Improve Performance: Proxy servers can dramatically improve performance for groups of users. This is because it saves the results of all requests for a certain amount of time.
• Filter Requests: Proxy servers can also be used to filter requests. For example, a company might use a proxy server to prevent its employees from accessing a specific set of Web sites.

What’s the difference between a proxy ip address and my comp address?
For some people, when they connect to the Internet, they have to connect through a proxy server. This server has its own address on the Internet, the proxy address.
Behind this is your computer, which has its own address.
It happens that some sites that "suggest" they tell you what your IP address is, actually report back what your proxy's IP address is and not your computer. This 'can' break all sorts of software and forwarding techniques for you.
There is no way for us, the public to get hold of an IP address from an email. We can see who it was routed through but other than that you need to ask the originating ISP and the only people with the power to do that are government agencies.

Subnet
A subnet (short for "subnetwork") is an identifiably separate part of an organization's network. Typically, a subnet may represent all the machines at one geographic location, in one building, or on the same local area network (LAN). Having an organization's network divided into subnets allows it to be connected to the Internet with a single shared network address. Without subnets, an organization could get multiple connections to the Internet, one for each of its physically separate subnetworks, but this would require an unnecessary use of the limited number of network numbers the Internet has to assign. It would also require that Internet routing tables on gateways outside the organization would need to know about and have to manage routing that could and should be handled within an organization.



Cache
A memory area where frequently accessed data can be stored for rapid access.
Memory that holds copies of recently accessed data. Several Web browsers keep recently viewed pages in a cache so users can return to them quickly without suffering network delays. (See also)

Cookie
A very small text file placed on your hard drive by a Web Page server. It is essentially your identification card, and cannot be executed as code or deliver viruses. It is uniquely yours and can only be read by the server that gave it to you.
A message given to a Web browser by a Web server. The browser stores the message in a text file. The message is then sent back to the server each time the browser requests a page from the server.
The main purpose of cookies is to identify users and possibly prepare customized Web pages for them. When you enter a Web site using cookies, you may be asked to fill out a form providing such information as your name and interests. This information is packaged into a cookie and sent to your Web browser which stores it for later use. The next time you go to the same Web site, your browser will send the cookie to the Web server. The server can use this information to present you with custom Web pages. So, for example, instead of seeing just a generic welcome page you might see a welcome page with your name on it. The name cookie derives from UNIX objects called magic cookies. These are tokens that are attached to a user or program and change depending on the areas entered by the user or program.

session cookie
Also called a transient cookie, a cookie that is erased when the user closes the Web browser. The session cookie is stored in temporary memory and is not retained after the browser is closed. Session cookies do not collect information from the user’s computer. They typically will store information in the form of a session identification that does not personally identify the user.

persistent cookie
Also called a permanent cookie, or a stored cookie, a cookie that is stored on a user’s hard drive until it expires (persistent cookies are set with expiration dates) or until the user deletes the cookie. Persistent cookies are used to collect identifying information about the user, such as Web surfing behavior or user preferences for a specific Web site.

Q. How to See the Code in a Cookie:
A. Just click on a cookie to open it. You'll see a short string of text and numbers. The numbers are your identification card, which can only be seen by the server that gave you the cookie.
Q. A Cookie's Purpose is:
A. To tell the server that you returned to that Web page.

History
(Internet Browser) - Stores the internet addresses (URLs) of the web sites you have visited.


Spyware
Spyware refers to a broad category of malicious software designed to intercept or take partial control of a computer's operation without the informed consent of that machine's owner or legitimate user. In simpler terms, Spyware is a type of program that watches after what users do with their computer and then send this information to a hacker over the internet. Spyware can collect many different types of information about a user. More benign programs can attempt to track what types of websites a user visits and send this information to an advertisement agency. More malicious version can try to record what a user types to try to intercept passwords or credit card numbers. Yet other versions simply launch popups with advertisements.
Spyware differs from viruses and worms in that it does not usually self-replicate. Like many recent viruses, however, spyware – by design – exploits infected computers for commercial gain. Typical tactics furthering this goal include delivery of unsolicited pop-up advertisements; theft of personal information (including financial information such as credit card numbers); monitoring of Web-browsing activity for marketing purposes; or routing of HTTP requests to advertising sites.

Webserver
The term web server can mean one of two things:
1. A computer responsible for serving web pages, mostly HTML documents, via the HTTP protocol to clients, mostly web browsers.
2. A software program that is working as a daemon serving web documents.


Virus
In computer security technology, a virus is a self-replicating program that spreads by inserting copies of itself into other executable code or documents.
A virus is a program written to cause mischief or damage to a computer system. A mild virus might only be a slight nuisance, or even amusing. However, most viruses do damage, whether to your files, your registry, or even your hardware.


Worm
A software program capable of reproducing itself that can spread from one computer to the next over a network; "worms take advantage of automatic file sending and receiving features found on many computers"

Trojan
A program that appears desirable but actually contains something harmful;
The program pretends to do one thing (like claim to be a picture) but actually does damage when you start it (it can completely erase your files). Trojan horses cannot replicate automatically.

Process
A process is a running instance of a program, including all variables and other state. It consists of a virtual memory address space, state (registers, stack, variables, etc), program code, and other operating system resources.
A process can have several threads running concurrently

Thread
The basic unit of program execution. A process can have several threads running concurrently, each performing a different job, such as waiting for events or performing a time-consuming job that the program doesn't need to complete before going on. When a thread has finished its job, the thread is suspended or destroyed. Threads are a way for a program to split itself into two or more simultaneously running tasks. The distinctions between threads and processes differ from one operating system to another, but in general, threads are created and share resources in a different way than processes. Threads are distinguished from traditional multi-tasking operating system processes in that processes are typically independent, carry considerable state information, have separate address spaces, and interact only through system-provided inter-process communication mechanisms. Multiple threads, on the other hand, typically share the state information of a single process, and share memory and other resources directly. Context switching between threads in the same process is typically faster than context switching between processes.

What is the difference between WAVE and MP3 files?
An older music format, WAV was designed by Microsoft to play short snippets of sound on any audio-enabled computer. Since Windows 3.1, WAV has been the native format for sound within the Windows environment. As a result, WAV files abound on the Web, and almost every browser has built-in WAV playback support.
The WAV file format is very basic. Unlike MP3 and other compressed formats, WAVs are just digitized sound samples. They're bulky, but simple; any computer can play them, and they sound fine.
MP3 stands for MPEG-1 Audio Layer 3. The MPEG process compresses a sound sequence into a very small file, while retaining its original quality. How? By being very selective and eliminating certain sound frequencies that can't be heard by the human ear. The format compresses the file to approximately 1/12 the size of the original file, making it quicker to download or share with a friend.
Though they both sound fine, the differences between the two file formats are quite profound. WAVs are much bulkier than MP3s, but require no additional software to play. MP3s require special players such as Napster or WinAmp. MP3s are better suited for swapping songs over the Web, while WAVs work better for audio-enhanced web sites. The choice is yours.


The Windows System Registry

What Is a Windows System Registry?
The system registry is one of the most important parts of a Windows-based computer system. Not to be tampered with lightly, the registry is a system-defined database used by the Windows operating system to store configuration information. Most Windows applications write data to the registry during installation and system components store and retrieve configuration data through the registry. The data stored in the registry varies according to the version of Microsoft Windows.

Registry Structure: The Tree, Nodes and Keys
The data is stored in the registry in a tree structure format, for those who have never opened the Registry Editor, you'd find its layout is similar to what you would see when you open your Windows Explorer. Each node within the registry tree contains a key which may have both subkeys and data entries (called values). Depending on the application you run, the application may need only the associated key while others may need the value data set for that specific key. A hive in the registry is a group of keys, subkeys, and values in the registry that has a set of supporting files containing backups of its data. The Windows boot process automatically retrieves data from these supporting files.

Key
A key is a field that you use to sort data. It can also be called a key field, sort key, index, or key word. For example, if you sort records by age, then the age field is a key. Most database management systems allow you to have more than one key so that you can sort records in different ways. One of the keys is designated the primary key, and must hold a unique value for each record. A key field that identifies records in a different table is called a foreign key.
Registry
A database used by the Windows operating system (Windows 95 and NT ) to store configuration information. The Registry consists of the following major sections:
HKEY_Classes_Root - file associations and OLE information
HKEY_Current_User - all preferences set for current user
HKEY_User - all the current user information for each user of the system
HKEY_Local_Machine - settings for hardware, operating system, and installed applications
HKEY_Current_Configuration - settings for the display and printers
HKEY_Dyn_Data - performance data

Most Windows applications write data to the Registry, at least during installation. You can edit the Registry directly by using the Registry Editor (regedit.exe) provided with the operating system. However, you must take great care because errors in the Registry could disable your computer.

How Applications Use the Registry
Applications use the registry in several ways. They can add data to your registry by creating or opening existing keys. When applications add to the registry, the data is sorted by computer-specific data or user-specific data. Through this distinction applications can support multiple users and locate user profile data. An application can close a key and write the data it contains into the registry and applications can delete a value from a key or delete a key. Applications can also save specific data, or parts of the system registry in a file to load that file into the registry which is common when large amounts of data is being handled, or when multiple entries are being added to the registry.
Driver
A program that controls a device. Every device, whether it be a printer, disk drive, or keyboard, must have a driver program. Many drivers, such as the keyboard driver, come with the operating system. For other devices, you may need to load a new driver when you connect the device to your computer. In DOS systems, drivers are files with a.SYS extension. In Windows environments, drivers often have a.DRV extension.
A driver acts like a translator between the device and programs that use the device. Each device has its own set of specialized commands that only its driver knows. In contrast, most programs access devices by using generic commands. The driver, therefore, accepts generic commands from a program and then translates them into specialized commands for the device

Problems Associated With the Registry
Users can experience computer problems caused by system registry errors for several reasons. Problems with the computer itself will usually occur because of invalid or missing keys in the Windows registry. Some signs of trouble include computer system crashes, stalls, or even a noticeably slower operating speed. Of course knowing what causes errors in your system registry can go a long way to avoiding registry problems in the future. In most cases, problems with your registry occur from user actions mainly involving the installation or removal of software and hardware on your computer. If you frequently install or uninstall programs, delete startup programs, change hardware and do not remove old drivers (or have corrupted hardware drivers), delete software which was not properly uninstalled, or have installed a program with embedded spyware on your computer, then you may experience problems with your Windows system registry.

Editing a Registry
You can edit the Registry directly by using the Registry Editor provided with the operating system. However you must take great care because causing errors in the Registry could disable your computer. You should not edit registry data that does not belong to your application unless it is absolutely necessary. If there is an error in the registry, your system may not function properly. If this happens, you can restore the registry to the state it was in when you last started the computer successfully. Editing a registry can be a difficult task and you should read through the help files for your specific Windows operating system before giving any further thought to editing the registry yourself.

Registry Backup and Restore
Some versions of Windows operating systems such as Windows 98, will create a backup of your system registry for you everyday provided your computer was rebooted during that calendar day. Unfortunately, the problems you may wish to fix with a registry restore may be included in the most recent backup, so it is advisable to start making your own registry backups instead of relying on those generated by Windows. It is important to note that the process for backing up and restoring a registry will differ between versions of Windows, and you should search the Microsoft Web site for exact instructions pertaining to your version of Windows.

Windows ME and Windows XP make system restore a bit easier as both have a System Restore feature that securely stores data that can later be used to put your system back to a previous state when it was known to function correctly.

If your last restore point had problems — for example a virus or worm, you'll face the probability that this information will also be restored to your system. It is important to remember that achieving a good system registry restore is dependant on you having taken the proactive steps to creating a good, usable backup to restore from. It is also important to read help files and search the Microsoft online Knowledgebase for registry backup and restore information for the version of windows you are running.

Registry Cleaner and Restore Utilities
For many, the process of cleaning and restoring a system registry is made easy with the use of third-party software utilities. A simple Google Web search for registry cleaning utilities will provide you with a plethora of results. For the most part, all registry repair and cleaner utilities provide you with an easy way to create registry backups, clean out your registry, and repair problems with your Windows system registry — some will provide additional features, but those are the basics to look for. Once you have installed your registry cleaner of choice, you will then set-up the basic options offered by the software (such as directories to store logs, backups, choose between automatic repair or to see the checklist of problems and confirm repair of each item. The cleaner utility will check areas storing information related to custom controls, software locations, shared DLLs, Startup programs, add/remove programs, and more.

You will have an option to create a system registry backup from the current state before making any changes to your Windows system registry as recommended by the cleaning utility. It is very important to create this backup, just incase something goes wrong when problems in the registry are repaired.

If you've make the decision to use a registry cleaning and repair utility to fix existing problems with your Windows System registry, you'll find you don't necessarily have to clean your registry frequently. But since you have the utility on your system creating registry backups is easily done with just a few clicks and can save you from total reformats and loss or corruption of your system in the future.

Did You Know...
Even spyware can leave behind keys in your system registry that may not be removed by all anti-spyware software. This is why some pop-ups and other spyware activities will persist on your computer after a system reboot. The good news is that "registry scanning" is a feature being included in many newer anti-spyware products.





Well Known Ports
Port
No. Description
1 TCP Port Service Multiplexer (TCPMUX)
5 Remote Job Entry (RJE)
7 ECHO
18 Message Send Protocol (MSP)
20 FTP -- Data
21 FTP -- Control
22 SSH Remote Login Protocol
23 Telnet
25 Simple Mail Transfer Protocol (SMTP)
29 MSG ICP
37 Time
42 Host Name Server (Nameserv)
43 WhoIs
49 Login Host Protocol (Login)
53 Domain Name System (DNS)
69 Trivial File Transfer Protocol (TFTP)
70 Gopher Services
79 Finger
80 HTTP
103 X.400 Standard
108 SNA Gateway Access Server
109 POP2
110 POP3
115 Simple File Transfer Protocol (SFTP)
118 SQL Services
119 Newsgroup (NNTP)
137 NetBIOS Name Service
139 NetBIOS Datagram Service
143 Interim Mail Access Protocol (IMAP)
150 NetBIOS Session Service
156 SQL Server
161 SNMP
179 Border Gateway Protocol (BGP)
190 Gateway Access Control Protocol (GACP)
194 Internet Relay Chat (IRC)
197 Directory Location Service (DLS)
389 Lightweight Directory Access Protocol (LDAP)
396 Novell Netware over IP
443 HTTPS
444 Simple Network Paging Protocol (SNPP)
445 Microsoft-DS
458 Apple QuickTime
546 DHCP Client
547 DHCP Server
563 SNEWS
569 MSN
1080 Socks



What is the difference between SSH and SSL?
SSH (Secure Shell) and SSL (Secure Sockets Layer) can both be used to secure communications across the Internet.
SSL was designed to secure web sessions; it can do more, but that's the original intent.
SSH was designed to replace telnet and FTP; it can do more, but that's the original intent.
SSL is a drop-in with a number of uses. It front-ends HTTP to give you HTTPS. It can also do this for POP3, SMTP, IMAP, and just about any other well-behaved TCP application. It's real easy for most programmers who are creating network applications from scratch to just grab an SSL implementation and bundle it with their app to provide encryption when communicating across the network via TCP.
SSH is a swiss-army-knife designed to do a lot of different things, most of which revolve around setting up a secure tunnel between hosts. Some implementations of SSH rely on SSL libraries - this is because SSH and SSL use many of the same encryption algorithms (i.e. TripleDES).
SSH is not based on SSL in the sense that HTTPS is based on SSL. SSH does much more than SSL, and they don't talk to each other - the two are different protocols, but have some overlap in how they accomplish similar goals.
SSL by itself gives you nothing - just a handshake and encryption. You need an application to drive SSL to get real work done.
SSH by itself does a whole lot of useful stuff that allows users to perform real work. Two aspects of SSH are the console login (telnet replacement) and secure file transfers (ftp replacement), but you also get an ability to tunnel (secure) additional applications, enabling a user to run HTTP, FTP, POP3, and just about anything else THROUGH an SSH tunnel.
Without interesting traffic from an application, SSL does nothing. Without interesting traffic from an application, SSH brings up an encrypted tunnel between two hosts which allows you to get real work done through an interactive login shell, file transfers, etc.
Last comment: HTTPS does not extend SSL; it uses SSL to do HTTP securely. SSH does much more than SSL and you can tunnel HTTPS through it! Just because both SSL and SSH can do TripleDES doesn't mean one is based on the other.

What is the difference between Inner Join and Outer Join?
An inner join gets data from both tables where the specified data exists in both tables. For example, if you wanted a list of students in your database that were absent on December 4, 2003, you would use an inner join between the two examples tables "Student" and "Attendance":
SELECT Student.ID, Student.FirstName, Student.LastName,
Attendance.AttendanceCode,
Attendance.MinutesAbsent FROM Student INNER JOIN Attendance
ON Student.ID=Attendance.ID
WHERE Attendance.AttendanceDate='12/4/2003'
The above statement will only return students with attendance information on the specified date. Students who do not have attendance would not display.
Like so:
ID FirstName LastName AttendanceCode MinutesAbsent
10 Steve Bartman Tardy 22
32 Dale Thropmorton ExcAbsent 200
(maybe there are 200 kids in the database, but only Steve and Dale where absent on 12/4/2003. They are the only students to display)
An outer join gets data from the source table at all times, and returns data from the outer joined table ONLY if it matches the criteria. You would use this type of join using my examples tables if you wanted a list of all students in a specified course, and you wanted attendance information if it existed. You would use an inner join between Student and StudentSchedule to only get the students in the speicified course (for example 'ENGLISH 9'), but you would use an outer join against Attendance because you want ALL students in the course, not just students with attendance information on 12/4/2003.
When using outer joins, fields will be set to NULL if data does not exist in the outer-joined table.
SELECT Student.ID, Student.FirstName, Student.LastName,
Attendance.AttendanceCode,Attendance.MinutesAbsent FROM Student
INNER JOIN StudentSchedule ON StudentSchedule.ID=Student.ID
LEFT OUTER JOIN Attendance ON Student.ID=Attendance.ID AND
Attendance.AttendanceDate='12/4/2003' WHERE studentSchedule.Course='ENGLISH 9'
ID FirstName LastName AttendanceCode MinutesAbsent
10 Steve Bartman Tardy 22
32 Dale Thropmorton ExcAbsent 200
44 Jennifer Lopez NULL NULL
(Steve, Dale, and Jennifer all all in English. Steve and Dale were absent but Jennifer was not)
Notice how the AttendanceDate filter is in the ON clause instead of the WHERE clause. This is because joins are processed first and then filter information is applied afterwords. If "Attendance.AttendanceDate='12/4/2003'" was put into the WHERE clause of the statement, the outer join would basically turn back into an inner join.

Normalization
The process of efficiently organizing data in a database.
There are two goals of the normalization process: eliminate redundant data (for example, storing the same data in more than one table) and ensure data dependencies make sense (only storing related data in a table). Both of these are worthy goals as they reduce the amount of space a database consumes and ensure that data is logically stored.
The database community has developed a series of guidelines for ensuring that databases are normalized. These are referred to as normal forms and are numbered from one (the lowest form of normalization, referred to as first normal form or 1NF) through five (fifth normal form or 5NF). In practical applications, you'll often see 1NF, 2NF, and 3NF along with the occasional 4NF. Fifth normal form is very rarely seen and won't be discussed in this article.
Before we begin our discussion of the normal forms, it's important to point out that they are guidelines and guidelines only. Occasionally, it becomes necessary to stray from them to meet practical business requirements. However, when variations take place, it's extremely important to evaluate any possible ramifications they could have on your system and account for possible inconsistencies. That said, let's explore the normal forms.

First normal form (1NF) sets the very basic rules for an organized database:
• Eliminate duplicative columns from the same table.
• Create separate tables for each group of related data and identify each row with a unique column or set of columns (the primary key).
Second normal form (2NF) further addresses the concept of removing duplicative data:
• Meet all the requirements of the first normal form.
• Remove subsets of data that apply to multiple rows of a table and place them in separate tables.
• Create relationships between these new tables and their predecessors through the use of foreign keys.
Third normal form (3NF) goes one large step further:
• Meet all the requirements of the second normal form.
• Remove columns that are not dependent upon the primary key.
Finally, fourth normal form (4NF) has one additional requirement:
• Meet all the requirements of the third normal form.
• A relation is in 4NF if it has no multi-valued dependencies.
Remember, these normalization guidelines are cumulative. For a database to be in 2NF, it must first fulfill all the criteria of a 1NF database.

First Normal form
A relation is said to be in first normal from when every attribute is atomic i.e. each attribute should contain only one value.
First normal form (otherwise known as 1NF).
1NF sets the very basic rules for an organized database:
• Eliminate duplicative columns from the same table.
• Create separate tables for each group of related data and identify each row with a unique column (the primary key).
The first rule dictates that we must not duplicate data within the same row of a table. Within the database community, this concept is referred to as the atomicity of a table. Tables that comply with this rule are said to be atomic. Let’s explore this principle with a classic example – a table within a human resources database that stores the manager-subordinate relationship. For the purposes of our example, we’ll impose the business rule that each manager may have one or more subordinates while each subordinate may have only one manager.
Intuitively, when creating a list or spreadsheet to track this information, we would draw up something like this:
Manager Subordinate1 Subordinate2 Subordinate3 Subordinate4
Bob Jim Mary Beth
Mary Mike Jason Carol Mark
Jim Alan
However, recall the first rule imposed by 1NF: eliminate duplicative columns from the same table. Clearly, the Subordinate1-Subordinate4 columns are duplicative. Take a moment and ponder the problems raised by this scenario. Jim only has one subordinate – the Subordinate2-Subordinate4 columns are simply wasted storage space (a precious database commodity). Furthermore, Mary already has 4 subordinates – what happens if she takes on another employee? The whole table structure would require modification.
At this point, a second bright idea usually occurs to database novices: We don’t want to have more than one column and we want to allow for a flexible amount of data storage. Let’s try something like this:

Manager Subordinates
Bob Jim, Mary, Beth
Mary Mike, Jason, Carol, Mark
Jim Alan
This solution is closer, but it also falls short of the mark. The subordinates column is still duplicative and non-atomic. What happens when we need to add or remove a subordinate? We need to read and write the entire contents of the table. That’s not a big deal in this situation, but what if one manager had one hundred employees? Also, it complicates the process of selecting data from the database in future queries.
Here’s a table that satisfies the first rule of 1NF:
Manager Subordinate
Bob Jim
Bob Mary
Bob Beth
Mary Mike
Mary Jason
Mary Carol
Mary Mark
Jim Alan
Now, what about the second rule: identify each row with a unique column or set of columns (the primary key)? You might take a look at the table above and suggest the use of the subordinate column as a primary key. In fact, the subordinate column is a good candidate for a primary key due to the fact that our business rules specified that each subordinate may have only one manager. However, the data that we’ve chosen to store in our table makes this a less than ideal solution. What happens if we hire another employee named Jim? How do we store his manager-subordinate relationship in the database?
It’s best to use a truly unique identifier (like an employee ID or SSN) as a primary key. Our final table would look like this:
Manager Subordinate
182 143
182 201
182 123
201 156
201 041
201 187
201 196
143 202
Now, our table is in first normal form!


2nd Normal Form
In order to be in Second Normal Form, a relation must first fulfill the requirements to be in First Normal Form. Additionally, each nonkey attribute in the relation must be functionally dependent upon the primary key.
Example: The following relation is in First Normal Form, but not Second Normal Form:



Order # Customer Contact Person Total
1 Acme Widgets John Doe $134.23
2 ABC Corporation Fred Flintstone $521.24
3 Acme Widgets John Doe $1042.42
4 Acme Widgets John Doe $928.53
In the table above, the order number serves as the primary key. Notice that the customer and total amount are dependent upon the order number -- this data is specific to each order. However, the contact person is dependent upon the customer. An alternative way to accomplish this would be to create two tables:
Customer Contact Person
Acme Widgets John Doe
ABC Corporation Fred Flintstone

Order # Customer Total
1 Acme Widgets $134.23
2 ABC Corporation $521.24
3 Acme Widgets $1042.42
4 Acme Widgets $928.53
The creation of two separate tables eliminates the dependency problem experienced in the previous case. In the first table, contact person is dependent upon the primary key -- customer name. The second table only includes the information unique to each order. Someone interested in the contact person for each order could obtain this information by performing a JOIN operation.

3rd Normal Form
In order to be in Third Normal Form, a relation must first fulfill the requirements to be in Second Normal Form. Additionally, all attributes that are not dependent upon the primary key must be eliminated.
Examples: The following table is NOT in Third Normal Form:
Company City State ZIP
Acme Widgets New York NY 10169
ABC Corporation Miami FL 33196
XYZ, Inc. Columbia MD 21046
In this example, the city and state are dependent upon the ZIP code. To place this table in 3NF, two separate tables would be created -- one containing the company name and ZIP code and the other containing city, state, ZIP code pairings.
This may seem overly complex for daily applications and indeed it may be. Database designers should always keep in mind the tradeoffs between higher level normal forms and the resource issues that complexity creates.



DLL (dynamic link library)
A dynamic link library (DLL) is a collection of small programs, any of which can be called when needed by a larger program that is running in the computer. The small program that lets the larger program communicate with a specific device such as a printer or scanner is often packaged as a DLL program (usually referred to as a DLL file). DLL files that support specific device operation are known as device drivers.
The advantage of DLL files is that, because they don't get loaded into random access memory (RAM) together with the main program, space is saved in RAM. When and if a DLL file is needed, then it is loaded and run. For example, as long as a user of Microsoft Word is editing a document, the printer DLL file does not need to be loaded into RAM. If the user decides to print the document, then the Word application causes the printer DLL file to be loaded and run.
A DLL file is often given a ".dll" file name suffix. DLL files are dynamically linked with the program that uses them during program execution rather than being compiled with the main program. The set of such files (or the DLL) is somewhat comparable to the library routines provided with programming languages such as C and C++.
Dynamic Link Library - it is a library file which is linked at runtime (i.e. dynamically) rather than at compile-time (i.e. statically).

exe is an executable file.
A file in a format that the computer can directly execute. Unlike source files, executable files cannot be read by humans. To transform a source file into an executable file, you need to pass it through a compiler or assembler.
In DOS systems, executable files have either a.COM or.EXE extension and are called COM files and EXE files, respectively.

Differences between Image File Types
JPEG
JPEG images are the most common image type that you will come across in your travels around the web. JPEG stands for "Joint Photographic Experts Group". What this means is the specific way that the image is compressed has been approved by the photo graphics expert group to be the best format for an internet-displayed photographic image. There are reasons why you should use JPEG compression and reasons not to, such as:
Benefits
• Small image size
• Viewable from the internet
• Uses millions of colors
• Perfect for most images
Downfalls
• High compression loses quality
• Every time a JPEG is saved, it loses more and more of the picture

GIF
GIF images are truly the internet standard for any type of small, simple file. GIF stands for Graphics Interchange Format. The most common use for a GIF is for menu buttons or icons for a webpage. The reason being that GIFs are extremely tiny in file size and have no complex colors, so they load almost instantly on any webpage. Also, any other file which is made up of only use a few basic, flat colors will want to use GIF compression.
Benefits
• Supported by all web browsers
• Very small file size
• Quick to load
• Useful for Transparencies, Animations or Image Maps
Downfalls
• Only basic colors can be used
• Makes complex pictures look horrible
• No detail allowed in images

BMP - Bitmap
Bitmap files (signified by .BMP extension) are the standard in basic image editing. Bitmaps are exactly as the name says, a map containing many bits of an image that when put together, looks like a picture. Since scanners and digital cameras take pictures in this same way (by capturing a group of pixels) most image editing programs will use BMP files for a true 1:1 copy of the file.
Benefits
• High image quality
• Easy to edit and change
• No image loss through process
Downfalls
• Not usually displayable on internet
• Large file size


What is the difference between ‘C’ structure and ‘C++’ structure?
1. Members of a struct in C are by default public, in C++ private
2. The definition of the structure in C is limited to within the module and cannot be initialized outside its scope. Where as in C++ you can initialize the objects anywhere within the boundaries of the project.
3. The on more deference is, in C++ structure can have methods (procedures) but C cannot have methods in structure

continuing with Q&A

1. If I created an application with .pcs extension how will u test in IE?
Ans Pcs is one of the picture storage file extensions like jpeg,bmp etc.So the file should be downloaded and displayed in the same fashion as a bmp or a jpeg file does.

2. How will you test login page? Can we apply sql injection there?
Ans Login page can be tested using the validations framework.Yes we can apply the sql injection if there are too many number of users and these have to be crosschecked with the database values.

3. How will you change java script in IE?
Ans Open java script file in IE ..then go to View - > source

4. Can IE 3.,IE 4,IE 5,IE 6 work simultaneously on same computer
Ans No it is not possible

5 If I wrote a program , that has to work for Korea language but it is showing English words in the application ?what might have gone wrong
Ans The language console has to be changed

6. How do an org know that their page is viewed?
Ans If it is asp.net -> In global.asa file we have to set application scope -> create and initialize the page hit counter object.

7.How to kill a process in windows with out using UI (i.e. Task Manager)?
Ans By using Kill utility.This is the command we have to use kill processid

8. How can you do that in LINX OS?
Ans Kill system call

9. How do you change the DATE of the computer system with out using UI (i.e. At command prompt)?
Ans At the time of booting-> select the setup option -> System settings

10. How do you test a Login page which contains a username and password fields and a submit button?
Ans The username & password can be tested using the validations framework.Submit button can be tested using the actions framework.

11. If you are a Test Manager, How do you limit the size of password and username fields?
Ans Using Boundary value analysis


12.How do you improve your computer performance while you are testing an application
Ans. Do not open multiple instances of the application

13 How is the security works between Browser and Webserver(Certificate)?
Ans Using SSL ( https)

14 Difference between boxing and un boxing?(.Net or Java 1.5)?
Ans Boxing means coverts primitive data values to Objects.
Unboxing is nothing but Object to primitive.

15 Command to find Linux version, IP Address?
Ans ifconfig

16. What's the length of IP Address?
Ans 32 bit

17 can u open msaccess file through excel
Ans Yes …


18 How do you track testing of applications?
Ans For tracking the testcases we generally use a QA workshop(website where the testcases and its status is updated)
For tracking the bugs we use a bug tracking tool

19 How do you ensure that testing is enough for an application?
Ans When the entry and exit criteria is fulfilled

20 How do you test the Windows Update process?
Ans By verifying the sizes and timestamps of the files which got updated.

21 How can you access/change username and password of windows users?
Ans . Right Click on My Computer ->Manage ->Local users and Groups ->Users

22 Difference between .EXE and .DLL?
Ans Exe is an executable file which can be used to run any application on windows platform.
DLL is a set of libraries which is used to support the exe file.