Multi-Lingual Website Testing
These days a number of web sites are deployed in multiple languages. As companies perform more and more business in other countries, the number of such global multi-lingual web applications will continue to increase. Testing web sites supporting multiple languages has its own fair share of challenges.
Prepare and use the required test environment
If a web site is hosted in English and Japanese languages, it is not enough to simply change the default browser language and perform identical tests in both the languages. Depending on its implementation, a web site may figure out the correct language for its interface from the browser language setting, the regional and language settings of the machine, a configuration in the web application or other factors. Therefore, in order to perform a realistic test, it is imperative that the web site be tested from two machines – one with the English operating system and one with the Japanese operating system. You might want to keep the default settings on each machine since many users do not change the default settings on their machines.
Acquire correct translations
A native speaker of the language, belonging to the same region as the users, is usually the best resource to provide translations that are accurate in both meaning as well as context. If such a person is not available to provide you the translations of the text, you might have to depend on automated web translations. It is a good idea to compare automated translations from multiple sources before using them in the test.
Get really comfortable with the application
Since you might not know the languages supported by the web site, it is always a good idea for you to be very conversant with the functionality of the web site. Execute the test cases in the English version of the site a number of times. This will help you find your way easily within the other language version. Otherwise, you might have to keep the English version of the site open in another browser in order to figure out how to proceed in the other language version (and this could slow you down).
Start with testing the labels
You could start testing the other language version of the web site by first looking at all the labels. Labels are the more static items in the web site. English labels are usually short and translated labels tend to expand. It is important to spot any issues related to label truncation, overlay on/ under other controls, incorrect word wrapping etc. It is even more important to compare the labels with their translations in the other language.
Move on to the other controls
Next, you could move on to checking the other controls for correct translations and any user interface issues. It is important that the web site provides correct error messages in the other language. The test should include generating all the error messages. Usually for any text that is not translated, three possibilities exist. The text will be missing or its English equivalent will be present or you will see junk characters in its place.
Do test the data
Usually, multi-lingual web sites store the data in the UTF-8 Unicode encoding format. To check the character encoding for your website in mozilla: go to View -> Character Encoding and in IE go to View -> Encoding. Data in different languages can be easily represented in this format. Make sure to check the input data. It should be possible to enter data in the other language in the web site. The data displayed by the web site should be correct. The output data should be compared with its translation.
Be aware of cultural issues
A challenge in testing multi-lingual web sites is that each language might be meant for users from a particular culture. Many things such as preferred (and not preferred) colors, text direction (this can be left to right, right to left or top to bottom), format of salutations and addresses, measures, currency etc. are different in different cultures. Not only should the other language version of the web site provide correct translations, other elements of the user interface e.g. text direction, currency symbol, date format etc. should also be correct.
Source: http://www.softwaretestinghelp.com
Security Test Case Study
The Client
Our Customer is a Online News Community http://www.newsfromfriends.com . User can get their personal newspaper and share thoughts and address them to special persons
The Requirements
Customer wanted to make sure their users privacy and content are secured enough, few of their security test requirements are below:
- SQL injection vulnerability
- Cross site scripting
- Business workflow securities
- Authentication security
- Brute force authentication breach testing
- Firewall security testing
- Web server files security
The Solution
- Identification of Application Input e.g. Files, environment variables, parameters in URL, through form submission etc., config files and registry
- Identification Application Output e.g. Files, Environmental Variables, Network Traffic, The Windows Registry, Console/Form, Database Source
- Logical tests Authentication, login, Email confirmation, business work flow securities, data encryption etc.
The Technology
- PHP
- Linux
- Apache
Contribution
- Breach finding using cross site scripting and SQL injection
- Breach finding using Brute force authentication
- Link injection, other user’s profile access breach and their content as well
- Hidden folders and direct files access from web server
- Email security and Data encryption security
Software Testing FAQ's
What is Software Testing? A basic to start with:
Software testing is the process used to help identify the correctness, completeness, security, and quality of developed computer software.
Testing is a process of technical investigation, performed on behalf of stakeholders, that is intended to reveal quality-related information about the product with respect to the context in which it is intended to operate.
This includes, but is not limited to, the process of executing a program or application with the intent of finding errors. Quality is not an absolute; it is value to some person. With that in mind, testing can never completely establish the correctness of arbitrary computer software; testing furnishes a criticism or comparison that compares the state and behaviour of the product against a specification.
An important point is that software testing should be distinguished from the separate discipline of software quality assurance, which encompasses all business process areas, not just testing.
There are many approaches to software testing, but effective testing of complex products is essentially a process of investigation, not merely a matter of creating and following routine procedure. One definition of testing is “the process of questioning a product in order to evaluate it”, where the “questions” are operations the tester attempts to execute with the product, and the product answers with its behavior in reaction to the probing of the tester.
Although most of the intellectual processes of testing are nearly identical to that of review or inspection, the word testing is connoted to mean the dynamic analysis of the product; putting the product through its paces. The quality of the application can, and normally does, vary widely from system to system but some of the common quality attributes include capability, reliability, efficiency, portability, maintainability, compatibility and usability.
A good test is sometimes described as one which reveals an error; however, more recent thinking suggests that a good test is one which reveals information of interest to someone who matters within the project community.
Software Testing Fundamentals
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. In this video we describe the fundamentals of software testing.
Different types of Software Testing processes are described below:
- Unit Testing
It is a method by which individual units of source code are tested to determine if they are fit for use. - Integration Testing
Here individual software modules are combined and tested as a group. - Functionality Testing
It is a type of black box testing that bases its test cases on the specifications of the software component under test. - Usability Testing
It is a technique used to evaluate a product by testing it on users. - System Testing
It is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. - Performance Testing
It is testing that is performed, to determine how fast some aspect of a system performs under a particular workload. - Load Testing
It refers to the practice of modeling the expected usage of a software program by simulating multiple users accessing the program concurrently. - Stress Testing
It is a form of testing that is used to determine the stability of a given system or entity.
Software Testing using Apache JMeter
Apache JMeter is open source software, a 100% pure Java desktop application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.
Apache JMeter may be used to test performance both on static and dynamic resources (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and more). It can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types. You can use it to make a graphical analysis of performance or to test your server/script/object behavior under heavy concurrent load.
SaaS Testing: Use of Agile Methodology
Agile testing follows a more fluid, continuous process which takes place hand-in-hand with development and product management. An agile team doesn’t do all of the requirements work for a system, then all of the development work and then all of the testing work consecutively. Instead, the agile team takes a small piece of the system and works together to complete that piece of the system. The piece may be infrastructure-related, feature development or a research spike. Then the team takes on another small piece and completes that piece. The project marches towards completion piece by piece.
Completing a piece of the system, referred to as a story or backlog item, means that product management, development and testing work together toward a common goal. The goal is for the story to be ‘done’. Stories are identified and prioritized by the product owner, who manages the backlog. Stories are selected based on their priority and effort estimate. The effort estimate is another team activity, which also includes testers. The team also identifies dependencies, technical challenges, or testing challenges. The whole team agrees on final acceptance criteria for a story to determine when it’s ‘done’.
During an iteration, several stories may be in various stages of development, test, or acceptance. Agile testing is continuous, since everyone on an agile team tests. However, both the focus and timing of testing is different depending on what type of testing is performed. Developers take the lead on code-level tests, while the tester on the agile team provides early feedback during all stages of development, helps or is cognizant of code-level testing being performed, takes the lead on acceptance test automation building regression test plans and uncovers additional test scenarios through exploratory testing.
In addition, the agile tester ensures acceptance test coverage is adequate, leads automation efforts on integrated, system-level tests, keeps test environments and data available, identifies regression concerns and shares testing techniques. Additional testing, such as performance and regression testing, that falls outside the scope of story-level testing, can be addressed through test-oriented stories, which are estimated, planned and tracked just like a product-oriented story.
How to Test a Web Service using QuickTest Pro Quality Testing
This video demonstrates how to test a Web Service using quicktest professional.
HP QuickTest Professional testing software provides functional and regression test automation for software applications and environments. HP QuickTest Professional supports keyword and scripting interfaces and features a graphical user interface. It uses the Visual Basic Scripting Edition (VBScript) scripting language to specify a test procedure, and to manipulate the objects and controls of the application under test.
QTP - Quick Test Professional
This is an introduction video to Quick Test Professional (QTP) from HP. Part of the HP Quality Center tool suite, HP QuickTest Professional can be used for enterprise quality assurance.
HP QuickTest Professional is an automated testing software designed for testing various software applications and environments. It performs functional and regression testing through a user interface such as a native GUI or web interface. It works by identifying the objects in the application user interface or a web page and performing desired operations (such as mouse clicks or keyboard events); it can also capture object properties like name or handler ID.
HP QuickTest Professional uses a VBScript scripting language to specify the test procedure and to manipulate the objects and controls of the application under test. To perform more sophisticated actions, users may need to manipulate the underlying VBScript.
Although HP QuickTest Professional is usually used for "UI Based" Test Case Automation, it also can automate some "Non-UI" based Test Cases such as file system operations and database testing.
QTP Object Identification - Quality Testing
HP QuickTest Professional software provides functional and regression test automation for software applications and environments. Part of the HP Quality Center tool suite, HP QuickTest Professional can be used for enterprise quality assurance.
It works by identifying the objects in the application user interface or a web page and performing desired operations (such as mouse clicks or keyboard events); it can also capture object properties like name or handler ID.
- QTP also uses a "human" like technology for object identification
- During Record Time QTP tries to learn properties of a GUI object on which operation is performed
- During Run-Time QTP compares the stored object properties with actual properties of object available on screen and uniquely identifies an object independent of its location on screen
- The stored object and together with its properties is called TEST Object
- During Run-Time, the actual object available on the application under test is called Run-Time Object
- This is Quick Tests "Test Object Model"
- Information about the Test Objects is stored in Object Repository
- Add-ins help in instructing Quick Test in advance of the nature of object to be recorded so it reduces the time required to learn its properties



























































