Friday, July 25, 2008

How to manage/facilitate test platform build

Code deployment in testing environments

Source code control is used in development environments in which several programmers work with the same piece of code. Applications and databases that are created in a development environment must be deployed first in a test environment and then in a production environment (© Dejan Sunderic).

Source code control (or version control) is typically introduced in development environments in which more than one developer needs to work with the same piece of code.

It allows development organizations and their members to

  • Manage code centrally
  • Manage multiple versions of the same code
  • Track change history
  • Compare versions
  • Prevent or allow developers from modifying the same piece of code at the same time
  • Synchronize deployment of all modifications needed to implement a single feature or bug fix

While you develop your database (and application) in a development environment, you must deploy the database first in a test environment and then in a production environment. Initially, you need to deploy the complete database, but later you will have to update the database with design changes and hotfixes.

How to provide environment support, RCA Support Coordination / Change Control

What is batch job?

A program that is assigned to the computer to run without further user interaction.

For example:
- a printing request or an analysis of a Web site log
- in our daily life, when we open our pc we can observe a lot of pre-scheduled program that runs antivirus system, anti-spy program, adware program etc.

In larger commercial computers or servers, batch jobs are usually initiated by a system user. Some are defined to run automatically at a certain time.

Corporations use batch jobs to automate tasks that they need to perform on a regular basis. Batch jobs usually run during off peak hours when systems are not being used for online processing. (For example, systems can run to update files, create printed reports, or purge files.)

In some computer systems, batch jobs are said to run in the background and interactive programs run in the foreground. In general, interactive programs are given priority over batch programs, which run during the time intervals when the interactive programs are waiting for user requests.

ref © searchdatacenter.com
ref © ibm

If QA is Assigned to Manage/Perform Code Migration

When QA has to work as a software configuration expert, he/she may need to properly migrate code through all phases of the software development lifecycle (development, QA, UAT, Production). He/She need to use a variety of tools (whatever the tools available) within the organization established for migration purpose. Tools such as WebMethods, Clearcase, CVS, and MS Office tools can be one of those tools example for migration purpose.

For this, they may also need some proficiency with UNIX Tar files to facilitate transfer, archiving, and unpacking of data. So, it is needed to understand the basic UNIX commands as well.

Other relevant experience could be with version control of software and release and change management experience in a software development environment.

Friday, July 18, 2008

Key

Primary Key:
The unique identifier for a row of data in a table is the primary key. This can be a single column or a combination of more than one column, in which case it is known as composite key.

Secondary or Foreign Key:
A key column in a table that identifies records in a different table is called a secondary or foreign key.

Example:
Let us say that you have an ‘order’ table and an ‘item’ table. In the ‘item’ table, let us say that your primary key is the combination of ‘order_id’ and ‘item_number’. In this case, the ‘order_id’ which is the primary key of the ‘order’ table is a foreign key in the ‘item’ table.

How To Join Tables? Learn From These Simple Instances Below

We have a couple of Tables below. See what would happen if we do inner join and outer join. See the result...

A. ----Table 1----- Table 2
----------1 ------------ 1
----------2 ------------ 2
----------3 ------------ 4
----------5 ------------ 5
----------8 ------------ 6
----------9 ------------ 7
---------11 ------------ 8
---------12 ----------- 10
---------13 ------------ 11


B. ----Table 1 ----------Table 2
---------SSN --------------- SSN
-----Last_Name -------- Apt #
-----First_Name --------Street
---------Age ----------------City
------------------- ---------- Zip


Inner Join:
Joining two tables by giving cause of equality is known as Inner Join. Only matching records from both tables get displayed.

In Inner Join only these numbers 1, 2, 5, 8, 11 will be displayed.

Inner Join: SQL> select a.SSN, a.Fname, b.city, b.zip from Table1 a, Table2 b
where a.SSN = b.SSN;

Outer Join:
Joining two tables to get matching records from both and non-matching records from any one of them is known as Outer Join.

Left Outer Join:
In this join 1, 2, 3, 5, 8, 9, 11, 12, 13 will be displayed.

Right Outer Join:
In this join 1, 2, 4, 5, 6, 7, 8, 10, 11 will be displayed.

Outer Join:
SQL> select a.SSN, a.Fname, b.city, b.zip from Table1 a, Table2 b
where a.SSN (+) = b.SSN;

Mostly Used Simple Unix Commands For Testers

  1. To create a file ==> cat↑>↑filename
  2. To read a file ==> cat↑filename
  3. To append existing file ==> cat↑>>filename
  4. To copy a file ==> cp↑file1↑file2
  5. To rename a file == > mv↑file1↑file2
  6. List your file ==> ls↑-a
  7. List all files ==> ls↑-al
  8. List directories with contents ==> ls↑-R
  9. List directories without contents ==> ls↑aFd
  10. To remove a directory ==> rmdir↑directory name
  11. To remove non empty directory ==> rm↑-r↑directory name

Traceability Matrix

Traceability matrix is a two dimensional matrix which maps Test Cases to Requirements.

Requirements # 1 ====> (covers in ==>) Test Cases #1, #2
Requirements # 2 ====> (covers in ==>) Test Cases #3, #4, #5
Requirements # 3 ====> (covers in ==>) Test Cases ------
Requirements # 4 ====> (covers in ==>) Test Cases #6, #7, #8, #9
Requirements # 5 ====> (covers in ==>) Test Cases #10
Requirements # 6 ====> (covers in ==>) Test Cases -------
Requirements # 7 ====> (covers in ==>) Test Cases #11, #12
Requirements # 8 ====> (covers in ==>) Test Cases #13, #14
Requirements # 9 ====> (covers in ==>) Test Cases -------
Requirements # 10 ====> (covers in ==>) Test Cases #15

Traceability Matrix follows one to many relationships.

Difference Between QA & QC

Difference between QA and QC

Quality Assurance


QA is oriented to Prevention.

QA activities focus on actual development process. The process is evaluated; improvements and changes are suggested to the processes. Audits are an example of QA activity which looks at whether and how the process is being followed. The end result may be suggested improvements or better compliance with the process. QC is process oriented. QA makes you sure that you are doing the right things, the right way. In a software environment,”QA” does not assure quality rather they assure that the process is being followed.

Quality Control

QC is oriented to Detection.

QC activities are work product oriented. They evaluate the product, identify weaknesses and suggest improvements. The product may be changed as a direct result of these activities. Testing activities of software are examples of QC since they usually result in changes to the product. QC activities are often the starting point for QA activities. QC is product oriented. Software testing is product oriented and thus comes under QC. QC makes sure that the results of what you have done are as expected. “QC” does not control quality; rather they measure quality by verifying that what was implemented matches the requirements.