Multilingualization Testing,What if the application has functionality that wasn't in the requirements?


What are Internationalization, Localization, Globalization, and Multilingualization Testing?

Internationalization and localization are a means of adapting software for non-native environments, especially other nations and cultures. Internationalization is often abbreviated as I18N (or i18n or I18n), where the number 18 refers to the number of letters omitted. "Localization" is often abbreviated l10n in the same manner. Both are sometimes collectively termed globalization (g11n). Also seen in some circles, but less commonly, are "p13n" for personalization? and "r3h" for reach, as in the reach of a website across countries and markets.
L10N should support two languages or character codes simultaneously, usually English (ASCII) and another specific one. Since each programmer has his or her own mother tongue, there are numerous L10N patches and L10N programs written to satisfy his or her own need. L10N is preparing a feature or system for use in a local market, e.g., Russia, Japan, Québec. Usually a market has a distinct language, customs and regulations. At the very least, user interface elements are translated into the local language.
I18N is also sometimes used interchangeably with G11N when speaking broadly of the economic and cultural effects of an increasingly interconnected world. In software terms, Usage of the term I18N has become rare; the term globalization (G11N) is preferred mostly because of corporate globalization where many companies and products find themselves in many countries worldwide.
G11N is a multi-step process to prepare a feature or system for use in multiple markets, or at least so that it can easily be localized. It is most commonly taken to refer to the addition of a framework for multiple language support. This implies that the application is capable of input of and displaying non-western character sets. These activities include software localization, and technical document translation result in user interfaces, on-line help systems, and documentation that are adapted to the cultural, linguistic, and technical requirements of specific international markets. This has given rise to increasing requirements for localization (L10N) of products and services.
M17N (multilingualization) model is to support many languages at the same time. For example, Mule (MULtilingual Enhancement to GNU Emacs) can handle a text file which contains multiple languages - for example, a paper on differences between Korean and Chinese whose main text is written in Finnish. GNU Emacs 20 and XEmacs now include Mule. Note that the M17N model can only be applied in character-related instances. For example, it is nonsense to display a message like 'file not found' in many languages at the same time. Unicode and UTF-8 are technologies which can be used for this model. Viewing a website in English and same in French should not have any functionality differences ideally, and no runtime errors. Check for incorrect translations, misspelled words and wrong symbols for the particular language chosen by the user. The language conversion should be consistent throughout the application. Use of shared variables can cause serious bugs, like when users select same page or content to view but choose different languages however the page is renderd in the previous user's language.

What makes a good QA engineer?

The same qualities a good test engineer has are useful for a QA engineer. Additionally, Rob Davis understands the entire software development process and how it fits into the business approach and the goals of the organization. Rob Davis' communication skills and the ability to understand various sides of issues are important. Good QA engineers understand the entire software development process and how it fits into the business approach and the goals of the organization. Communication skills and the ability to understand various sides of issues are important.

Difference between Verification and Validation?

Answer1:
The ISO would say that Verification is a process of determining whether or not the products of a given phase of the software development cycle meets the implementation steps and can be traced to the incoming objectives established during the previous phase. The techniques for verification are testing, inspection and reviewing.
Validation is a process of evaluating software at the end of the software development process to ensure compliance with software requirements. The techniques for validation are testing, inspection and reviewing.

Answer2:
Validation:Determination of the correctness of the products with respect to the user needs and requirements.
Verification:Determination of the correctness of the product with respect to the test conditions/requirement imposed at the start.

Answer3:
the diifernce between V & V.
*no.*
Verification ensures that the system complies with organizations standards & processes.
Validation physically ensures that the system operates according to plan.
Relies on non-executable methods of analyzing various artifacts.
Executes the system functions through a series of tests that can be observed & evaluated.
Answers the question "Did we build the right system?"
Answers the question "Did we build the system right?"
E.g. Check sheets, traceability matrix,
Uses functional or structural testing techniques to catch defects.
Includes Requirement reviews, design reviews, code walkthroughs, code inspections, test reviews, independent static analyzers, confirmation in which 3rd party attests to the document, desk checking.
Includes Unit testing, coverage analysis, black box techniques, Integrated testing, System testing & User Acceptance testing.
Most effective, it has been proven that 65% defects can be discovered here.
Effective, but not as effective as verification, for removing defects. It has been proven that 30% of defects can be discovered here.
Can be used throughout SDLC.

Looking for a tool whcih can do bulk data insert to various tables in the test database and also that tool which work with DB2, SQLServer and Oracle.

Answer1:
First copy the existing data to an excel file by DTS import/export wizard in SQL server 2000
Export the contents of the table to an excel file . In the Excel change the integrity constraints. for example the table had one primary key column. So using excel you just changed the values of the priamary key by using linear fill option of Excel. Then save it.
Now import data from this excel sheet to the table.

Answer2:
Using Perl and their DBI modules. You will also need DBD modules for the specific databases that you want to test with. In theory, you should be able to re-use the scripts and just change DBD connections or possibly create handles to all three RDBMSs simultaneously. Ruby and Python have similar facilities.
You will just have to have access to the data files somewhere and then you can then read the data and insert the data into the database using the correct insert statements.
There are other tools, but since they cost money to purchase I have never bothered to investigate them.
Scripting is the most powerful (and cheapest) way to do it. preferred method is to use Python and its ODBC module. This way you can use the same code and just change the data source for whichever DB you're connecting to. Also, you could potentially have the script generate random data if you don't have any source data to begin with.
need to have the proper ODBC client drivers installed on the box you're running the script from for the ODBC module. There's also a PyPerl distribution that will let you use the Perl DBI module with Python. It's really up to personal preference on what you're comfortable scripting in.

What makes a good QA/Test Manager?

QA/Test Managers are familiar with the software development process; able to maintain enthusiasm of their team and promote a positive atmosphere; able to promote teamwork to increase productivity; able to promote cooperation between Software and Test/QA Engineers, have the people skills needed to promote improvements in QA processes, have the ability to withstand pressures and say *no* to other managers when quality is insufficient or QA processes are not being adhered to; able to communicate with technical and non-technical people; as well as able to run meetings and keep them focused.

Need to shut down network connectivity mid tansaction. How to do this programmatically via windows interface?

From the command line, IPCONFIG /RELEASE, should do it. or do the old fashion way. remove the cable on your machine. if u r using a wireless connection, it is better to use ipconfig then.

What can be done if requirements are changing continuously?

Work with management early on to understand how requirements might change, so that alternate test plans and strategies can be worked out in advance. It is helpful if the application's initial design allows for some adaptability, so that later changes do not require redoing the application from scratch. Additionally, try to...
* Ensure the code is well commented and well documented; this makes changes easier for the developers.
* Use rapid prototyping whenever possible; this will help customers feel sure of their requirements and minimize changes.
* In the project's initial schedule, allow for some extra time to commensurate with probable changes.
* Move new requirements to a 'Phase 2' version of an application and use the original requirements for the 'Phase 1' version.
* Negotiate to allow only easily implemented new requirements into the project; move more difficult, new requirements into future versions of the application.
* Ensure customers and management understand scheduling impacts, inherent risks and costs of significant requirements changes. Then let management or the customers decide if the changes are warranted; after all, that's their job.
* Balance the effort put into setting up automated testing with the expected effort required to redo them to deal with changes.
* Design some flexibility into automated test scripts;
* Focus initial automated testing on application aspects that are most likely to remain unchanged;
* Devote appropriate effort to risk analysis of changes, in order to minimize regression-testing needs;
* Design some flexibility into test cases; this is not easily done; the best bet is to minimize the detail in the test cases, or set up only higher-level generic-type test plans;
* Focus less on detailed test plans and test cases and more on ad-hoc testing with an understanding of the added risk this entails.

What if the application has functionality that wasn't in the requirements?

It may take serious effort to determine if an application has significant unexpected or hidden functionality, which it would indicate deeper problems in the software development process. If the functionality isn't necessary to the purpose of the application, it should be removed, as it may have unknown impacts or dependencies that were not taken into account by the designer or the customer.
If not removed, design information will be needed to determine added testing needs or regression testing needs. Management should be made aware of any significant added risks as a result of the unexpected functionality. If the functionality only affects areas, such as minor improvements in the user interface, it may not be a significant risk.

0 comments:

Post a Comment