Monday, February 25, 2013

How to keep your passwords secure?

Password security is an important part of security of computer systems against unauthorized internal or external access. Therefore, let us consider this topic. Now, what is a password? A password is a string of characters that you give to verify that you are you when you log on to a computer system. In other words, a password is used to authenticate you to a computer system. We will see tips to create a secure password. Next, we will see guidelines for application developers to implement good password security. But first, let us see the different types of passwords.

Sunday, February 24, 2013

Java Questions and Answers Part 2

As you know, Java is one of most popular object-oriented programming languages and has been in use since its release. It is interesting that test automation can be written in Java in certain automated testing tools/ frameworks. View the videos, Java Interview Questions and Answers - 1 and Java Interview Questions and Answers - 2. Or read on. Please read the basic Java questions and answers Part 1 here first. Following are further questions and answers related to the Java programming language.

Wednesday, February 13, 2013

Java Questions and Answers Part 1


As you would know, Java is one of the most popular object-oriented programming languages and has been in use since its release in 1995. What is particularly interesting is that test automation can be written in Java in certain automated testing tools/ frameworks. Here are some basic questions and answers related to the Java programming language. These questions and answers are excerpted from the notes that I created. View the videos, Java Interview Questions and Answers - 1 and Java Interview Questions and Answers - 2. Or read on.

Wednesday, February 6, 2013

Software Configuration Management (SCM) confusing terms explained

SCM involves controlling access and storing changes to software code, resources and project artifacts. Your software project most likely has a chosen SCM tool (a.k.a. version control software or revision control software). However, SCM tools often use similar terms to mean very different concepts. Make sure you understand the difference between the following terms by reading the guest article that I have written here.
  • Repository versus Project
  • Trunk versus Branch
  • Add versus Update versus Commit
  • Delete versus Purge
  • Checkout versus Lock
  • Overwrite versus Merge
  • Revision Number versus Message
  • Label versus Baseline

Monday, February 4, 2013

JavaScript Quiz Part 2 (final part)


As you may know, JavaScript is the default scripting language of the browser. In addition, much test automation is also written in JavaScript. If you have not attempted the Part 1 of this Quiz, do that first. Then attempt this part of the quiz to find out how well you know JavaScript. If you can answer 8 or more questions correctly in each part, then you are a JavaScript expert :)

Friday, February 1, 2013

How to use application metadata for software test automation?


Metadata is commonly understood as data that describes data. An example of metadata is the product catalog of a company. Such a catalog contains additionally assigned attributes (i.e. related but extrinsic attributes) such as name, model, price and availability of products. Another example of metadata is the data within a meta tag of a web page. This metadata includes the description of the web page and keywords. This metadata is not used to generate the web page content but is used by search engines. Still another example of metadata is the details of a digital image such as title, width, height, resolution, camera used and so on. This metadata is used to search the image in an image library and also to modify the image as desired. In the same way, a deployed software application build has metadata.

Software test automation needs certain application metadata in order to execute. Such metadata data is perhaps the application URL or path to the executable file, valid users' credentials (user names and passwords) and their privilege levels, internal name of the application, application version, components released in the build, server addresses, application database name and application database user credentials. It is common for such data and more to be available in the application build release notes. It is also common for the release notes to be created using standard markups like HTML or XML. Now, if test automation is aware of the schema used in the release notes (i.e. which tag contains which data), it can query the release notes and extract the required data. Test automation can also store this data in the test database. This provides readily available data to run manual tests and also to generate test run reports. Auto population of application metadata in the database works well with automated software build systems which create regular application builds and the corresponding release notes. In such a case, test automation can wait for some notification or keep polling the network location for a new build. Whenever the new build is available, it can auto populate the application metadata and launch the build sanity test (or any other test per the automated test plan).

Until next time.

Image courtesy of fotographic1980 / FreeDigitalPhotos.net