Tuesday, January 3, 2012

2011 Trip Updated

Team Outing 2011
We had 2 team outings this year which was a half yearly team outing and an Annual team outing

Firstly the half yearly outing was in the month of July month and we all had been to Asia’s largest mall which is very close by to ur office
i.e. Mantri Square and had a great time playing the snow ball. We all enjoyed and had lunch and stayed back for a good evening snacks and headed
back home. Inspite of having very less time to spend with each other in a group we did enjoy every aspect of our outing to the maximum extent.

Secondly the annual team outing was in the month of December and we had been to (Bangalore-->Somnath Temple-->Talkad-->Bangalore) The Sonath pura (SOMNATH TEMPLE) and after that we had been to
Talkad here we enjoyed very much (Cooking,swimming, playing etc)

Actually we started the journy at 6:30 AM from banglore on the way we had Breakfast in very good Restaurant Adidas and moved to the Shivanasmudra
after by some some time we reached
Somnath Pura in this place we visited SOMNATH TEMPLE
Really this is Historically temple we spent there aroun 40 minuts
after that we moved to the Talghat
when we reached the talghat first we searched qiute place and there we cokked lunch (Prepared by our senior system tester Siddu) Really it was very Testy
lunch after that all of us had lunch then go for the Swimming
The most beautiful experience which could be recollected by everyone would be the swimming in The river(Kavery River) we enjoyed there around 3 hours
But due to short time we were not enable to go Shivanasamudra thatswhy we Came back from Talkad
here are some photos where we enjoying
Al l of us inthe Somnath temple
All of us in Somnath temple













Cooking






















We enjoyed a lot and had a great time with each other which is truly memorable by everyone in the team.

Monday, January 2, 2012

Goals of YEAR 2012 by SystemTesters

Goal are in the progress

Wednesday, August 10, 2011

Goals for next six months

Understanding Cognos --- By Amar

SQL Tunning ---By Siddu

Automation Training --By Vijay Muragan

Effective Utilization of Automation Scripts -- Amar & Vijay Muragan

Implementation Test Management Tools (Spira) -- Shwetha & Prakash

Automation Performance scenario --Vijay and Awadhesh

Scripting of data required ---By Awadhesh

Structure Planing ---By Amar

Wednesday, July 6, 2011

Scripting for Copy the XML Documents --By Awadhesh

During execution of this scripting need to provides the source path and destination path.

Tuesday, June 7, 2011

HTML-5 -- By Vijay Murgan

New HTML5

HTML5 will be the new standard for HTML, XHTML, and the HTML DOM.
The previous version of HTML came in 1999. The web has changed a lot since then.
HTML5 is still a work in progress. However, most modern browsers have some HTML5 support.

for Rules HTML5 were established

New features should be based on HTML, CSS, DOM, and JavaScri
·Reduce the need for external plugins (like Flash)
·Better error handling
·More markup to replace scripting
·HTML5 should be device independent

New Futures HTML

·The canvas element for drawing
·The video and audio elements for media playback
·Better support for local offline storage
·New content specific elements, like article, footer, header, section
·New form controls, like calendar, date, time, email, url, search
·
Browser Support:
HTML5 is not yet an official standard, and no browsers have full HTML5 support.
But all major browsers (Safari, Chrome, Firefox, Opera, Internet Explorer) continue to add new HTML5 features to their latest versions


·

Protocols -- By Prakash

Protocol:

Protocol is a special set of rules. An end point in a telecommunication uses protocol when they communicate. This enables computers and software built by different people to be able to communicate in the same language.

Examples:

  • Hyper Text Transfer Protocol (HTTP) – Web Browser
  • File Transfer Protocol (FTP) – File transfer
  • Simple Mail Transfer Protocol (SMTP) – Email
  • Internet Protocol (IP) – Packets across the Internet

Hyper Text Transfer Protocol (HTTP) – Web Browser

The Hypertext Transfer Protocol (HTTP) is an application-level TCP/IP based protocol with the lightness and speed necessary for distributed, collaborative, hypermedia information systems (internet).

Following diagram shows where HTTP Protocol fits in communication:


File Transfer Protocol (FTP) – File transfer

File Transfer Protocol is a standard network protocol used to copy a file from one host to another over a TCP-based network, such as the Internet.

Control and Data Connections

FTP uses the client-server model. The client establishes a control connection. When the user enters a command, the client forms a request using the FTP protocol and sends it to the server. Similarly, the server uses the FTP protocol to send a reply.

FTP uses the control connection only to send and receive control messages. It establishes a separate data connection for each file transfer.



Figure: FTP Connections

FTP Commands

FTP has commands that allow users to connect to a remote computer, provide authentication, find out what remote files are available, and to request file transfers.




Figure: FTP commands

FTP Software

Different types of FTP software available: FileZilla, WinSCP, CuteFTP, Fugu, and SmartFTP.

Features

1. Resume a download that did not finish successfully. Good feature for people with slower Internet connections.

2. Multiple file transfers at a time.

3. File transfers are made by simply dragging and dropping files from one pane to the other.

Advantages


1. FTP is used to download files. FTP is much faster than standard HTTP downloads (through browser).

2. FTP is a fast and convenient way to transfer files over the Internet. Many webmasters use FTP for uploading their websites files on their hosting accounts.

3. FTP has built-in error checking, and can restart transfers from the point of failure.

Disadvantages

1. We need to obtain and pay for disk space on an FTP server. This storage space is typically very limited or much more expensive per MB than our service.

2. No automatic backup: We need to remember to back up every day.

3. FTP connections are unreliable and often times out, so we need to resume the connection and figure out which files were not backed up.

4. Files can be corrupted during FTP transfers without our knowledge.

5. Most FTP software is not encrypted and therefore not secure.

6. Many FTP server data centers have only minimal data security features.

7. Downloads are not protected (not recommended for uploading or downloading large files).

8. When using a web browser for an FTP connection, FTP uploads are sometimes very slow.

9. HTTP doesn't have built-in error checking.

Test data creation script -- By Awadhesh

Below are the requirements for the Script.

Parameters:

1. Source Location

2. Destination Location

3. Start date

4. End date

5. Provider

6. Brand

7. Number of files (Ex: 1000)

8. File Size

9- Story date

10. Log

11- Language (One OR Many)

Below is given a script program for copy the source directory Documents to Destination .

$src_dir="/entixd/PhpTraining/20110511/CyberAlert/";

$dest_dir="/entixd/PhpTraining/work/";

$d=@opendir($src_dir);

if(!$d)die('The directory ' .$src_dir .' does not exists or PHP have no access to it.');

while(false!==($file=@readdir($d))){

if(is_file($src_dir.$file)){

if(is_dir($dest_dir)){

copy($src_dir.$file,$dest_dir.$file);

} else {

die("Destination Directory ".$dest_dir." does not exist");

}

}

}

?>

--

Maestro performance testing approach. – By Siddu

Following data collected based on bugzila and Jira tickets






Following data collected various types of widgets created in the Production





Based on Data analysis decision will be taken and will be publish in next month blog.

Single Sign ON --By Shwetha

Single Sign ON

Introduction:

What is SSO

Single sign-on is a user/session authentication process that permits a user to enter one name and password in order to access multiple applications.

The process authenticates the user for all the applications they have been given rights to and eliminates further prompts when they switch applications during a particular session.

Definitions of Single Sign-On (SSO) on the Web:

Users sign onto a site only once and are given access to one or more applications in a single domain or across multiple domains. It is a mechanism to verify a user across multiple applications through a single authentication challenge. Web Sphere Portal Server uses Java Authentication and Authorization Services to achieve single sign-on.One log-on provides access to all resources of the network, LAN, or WAN.

It can be illustrated in two different scopes. One is in the client/server relationship and the other is in the e-commerce domain.

1. In Client / Server relationship

“In any client/server relationship, single sign-on is a session/user authentication process that permits a user to enter one name and password in order to access multiple applications.”

2. In E-commerce

“In e-commerce, the single sign-on (sometimes referred to as SSO) is designed to centralize consumer financial information on one server- not only for the consumer's convenience, but also to offer increased security by limiting the number of times the consumer enters credit card numbers or other sensitive information used in billing.”

How does it work?








Advantages of Single-sign on

1 Ease of going from application to application without logging off and on again

2 Protects your identity by use of a Universal Identification Number (UIN) rather than your Number

3 Faster access to your important information

4 Reduced operational cost

5 Reduced time to access data.

6 Improved user experience, no password lists to carry

7 Advanced security to systems

8 Strong authentication

· One Time Password devices

· Smartcards

9 Ease’s burden on developers

10 Centralized management of users, roles

11 Fine grained auditing

12 Effective compliance (SOX, HIPPA)

13 Users select stronger passwords, since the need for multiple passwords and change synchronization is avoided.

14 Inactivity timeout and attempt thresholds are applied uniformly closer to user points of entry.

15 It improves the effectiveness/timeliness of disabling all network/computer accounts for terminated users.

16 It improves an administrator's ability to manage users and user configurations to all associated systems.

17 It reduces administrative overhead in resetting forgotten passwords over multiple platforms and applications.

18 It provides users with the convenience of having to remember only a single set of credentials.

19 This also improves security as users find it easier to remember their credentials and do not have to write them down, allowing for a more efficient user logon process.

20 It reduces the time taken by users to log into multiple applications and platforms.

Disadvantages of Single-Sign on

1. Using only one SSO server can introduce a single point of network failure.

2. Few software solutions accommodate all major operating system environments; a mix of solutions must be tailored to the enterprise's IT architecture and strategic direction.

3. Substantial interface development and maintenance may be necessary, especially in the absence of industry-based standards.

4. The SSO server and other host security must be hardened since Weaknesses can now be exploited across the enterprise.

5. Most SSO-software packages include additional access control features for which purchaser is charged even if they are redundant of any existing controls.

Types of SSO

1 Password Synchronization

2 Legacy SSO (Employee/Enterprise SSO)

3 Web Access Management (WAM)

4 Cross Domain (realm) SSO

5 Federated SSO

Understanding PL/SQL - By Archana

PL/SQL

Introduction:

PL/SQL stands for Procedural Language extension of SQL.

PL/SQL is a combination of SQL along with the procedural features of programming languages. It was developed by Oracle Corporation in the early 90’s to enhance the capabilities of SQL.

The PL/SQL Engine:


Oracle uses a PL/SQL engine to processes the PL/SQL statements. A PL/SQL code can be stored in the client system (client-side) or in the database (server-side).

A Simple PL/SQL Block:

Each PL/SQL program consists of SQL and PL/SQL statements which from a PL/SQL block.

A PL/SQL Block consists of three sections:

  • The Declaration section (optional).
  • The Execution section (mandatory).
  • The Exception (or Error) Handling section (optional).

Declaration Section:

The Declaration section of a PL/SQL Block starts with the reserved keyword DECLARE. This section is optional and is used to declare any placeholders like variables, constants, records and cursors, which are used to manipulate data in the execution section. Placeholders may be any of Variables, Constants and Records, which stores data temporarily.

Execution Section:

The Execution section of a PL/SQL Block starts with the reserved keyword BEGIN and ends with END. This is a mandatory section and is the section where the program logic is written to perform any task. The programmatic constructs like loops, conditional statement and SQL statements form the part of execution section.

Exception Section:

The Exception section of a PL/SQL Block starts with the reserved keyword EXCEPTION. This section is optional. Any errors in the program can be handled in this section, so that the PL/SQL Blocks terminates gracefully. If the PL/SQL Block contains exceptions that cannot be handled, the Block terminates abruptly with errors.

Every statement in the above three sections must end with a semicolon ; . PL/SQL blocks can be nested within other PL/SQL blocks.

This is how a sample PL/SQL Block looks.

DECLARE
Variable declaration
BEGIN
Program Execution
EXCEPTION
Exception handling
END;

Advantages of PL/SQL

These are the advantages of PL/SQL.

  • Block Structures: PL SQL consists of blocks of code, which can be nested within each other. Each block forms a unit of a task or a logical module. PL/SQL Blocks can be stored in the database and reused.

  • Procedural Language Capability: PL SQL consists of procedural language constructs such as conditional statements (if else statements) and loops like (FOR loops).

  • Better Performance: PL SQL engine processes multiple SQL statements simultaneously as a single block, thereby reducing network traffic.

  • Error Handling: PL/SQL handles errors or exceptions effectively during the execution of a PL/SQL program. Once an exception is caught, specific actions can be taken depending upon the type of the exception or it can be displayed to the user with a message.

PL/SQL Placeholders

Placeholders are temporary storage area. Placeholders can be any of Variables, Constants and Records. Oracle defines placeholders to store data temporarily, which are used to manipulate data during the execution of a PL SQL block.

Depending on the kind of data you want to store, you can define placeholders with a name and a datatype. Few of the datatypes used to define placeholders are as given below.
Number (n,m) , Char (n) , Varchar2 (n) , Date , Long , Long raw, Raw, Blob, Clob, Nclob, Bfile

PL/SQL Variables

These are placeholders that store the values that can change through the PL/SQL Block.

The General Syntax to declare a variable is:

variable_name datatype [NOT NULL := value ]; 
  • variable_name is the name of the variable.
  • datatype is a valid PL/SQL datatype.
  • NOT NULL is an optional specification on the variable.
  • value or DEFAULT value is also an optional specification, where you can initialize a variable.
  • Each variable declaration is a separate statement and must be terminated by a semicolon.


For example, if you want to store the current salary of an employee, you can use a variable.

DECLARE
salary  number (6);

* “salary” is a variable of datatype number and of length 6.

When a variable is specified as NOT NULL, you must initialize the variable when it is declared.

For example: The below example declares two variables, one of which is a not null.

DECLARE
salary number(4);
dept varchar2(10) NOT NULL := “HR Dept”;

The value of a variable can change in the execution or exception section of the PL/SQL Block. We can assign values to variables in the two ways given below.

1) We can directly assign values to variables.
The General Syntax is:

  variable_name:=  value;

2) We can assign values to variables directly from the database columns by using a SELECT.. INTO statement. The General Syntax is:

SELECT column_name
INTO variable_name 
FROM table_name 
[WHERE condition]; 

Example: The below program will get the salary of an employee with id '1116' and display it on the screen.

DECLARE 
 var_salary number(6); 
 var_emp_id number(6) = 1116; 
BEGIN
 SELECT salary 
 INTO var_salary 
 FROM employee 
 WHERE emp_id = var_emp_id; 
 dbms_output.put_line(var_salary); 
 dbms_output.put_line('The employee ' 
                    || var_emp_id || ' has  salary  ' || var_salary); 
END; 
/

NOTE: The backward slash '/' in the above program indicates to execute the above PL/SQL Block.

Scope of Variables

PL/SQL allows the nesting of Blocks within Blocks i.e, the Execution section of an outer block can contain inner blocks. Therefore, a variable which is accessible to an outer Block is also accessible to all nested inner Blocks. The variables declared in the inner blocks are not accessible to outer blocks. Based on their declaration we can classify variables into two types.

  • Local variables - These are declared in a inner block and cannot be referenced by outside Blocks.
  • Global variables - These are declared in a outer block and can be referenced by its itself and by its inner blocks.

For Example: In the below example we are creating two variables in the outer block and assigning their product to the third variable created in the inner block. The variable 'var_mult' is declared in the inner block, so cannot be accessed in the outer block i.e. it cannot be accessed after line 11. The variables 'var_num1' and 'var_num2' can be accessed anywhere in the block.

1> DECLARE
2>  var_num1 number; 
3>  var_num2 number; 
4> BEGIN 
5>  var_num1 := 100; 
6>  var_num2 := 200; 
7>  DECLARE 
8>   var_mult number; 
9>   BEGIN 
10>    var_mult := var_num1 * var_num2; 
11>   END; 
12> END; 
13> / 

Tuesday, May 3, 2011

SILK Automation framework used in Cymfony- By Vijay Murugan

Cymfony Automation Frame Work:-


Automation Framework is a concept, similar to OOPs. Automation Framework is an advanced thought from Record Playback or writing some functions and executing them.

Automation Framework is a discipline and should have proper design/architecture. Automation Framework should have some of following components.

Components of a Framework:-

1. AUT Specific libraries
2. Tool wrapper function libraries.
3. Execution Engine (Script Execution should be derived
based on given test data) Data Driven
4. Results reporting mechanisms (PASS & FAIL for each test cases/procedures and
compiled results for all. Itwould be better,if it captured AUT's snapshots)
5. Planning for long term automation.
6. Keeping GUI objects info/declarations dynamicallyor static.
7. Planned approach of unattended execution.

Also framework design differs by tool, scripting languages and type of AUT etc,

Cymfony is using automation framework called “oops automation framework”

Oops framework is a combination of two or more frame works.
Oops framework Architecture as follows:-






Note:

1.WebDeclares.inc : will have Connection to client database &input excel
2.Product_Declares .inc & Global Var.inc : Will have Reusable functions.
3.Testcases.t : will have All Test case Scripts
4.Main.pln : Will have list of executable test cases
5.Main.res : Will have Results

Advantage of Framework:-

1.Reusability of utility Script.
2.Using package of Object Identify.
3.Dynamic object identification
4.Easy to Debugs
5.Multitasking


Disadvantage of Framework:-

1.If any changes happen in the page design we need to change the pervious scripts for the new design.

Understanding of Php Coding – By Awadhesh

PHP

Introduction:
PHP stands for Hypertext Preprocessor. It is a server-side scripting language, like ASP. These scripts are executed on the server. PHP supports many databases (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, etc.). PHP is an open source software
PHP files can contain text, HTML tags and scripts. PHP files have a file extension of ".php", ".php3", or ".phtml"
PHP runs on different platforms (Windows, Linux, Unix, etc).

Basic PHP Syntax
A PHP scripting block always starts with . A PHP scripting block can be placed anywhere in the document.
On servers with shorthand support enabled you can start a scripting block with .
For maximum compatibility, we recommend that you use the standard form (Below, we have an example of a simple PHP script which sends the text "Hello World" to the browser:







Each code line in PHP must end with a semicolon.



Why do use $ in Php
$ sign is Exclusively use in Php. It instructs to Php Engine That the code inserted with $ sign is Variable.

Variables in PHP
Variables are used for storing values, like text strings, numbers or arrays.
When a variable is declared, it can be used over and over again in your script.
All variables in PHP start with a $ sign symbol.
The correct way of declaring a variable in PHP:
$var_name = value;
Let's try creating a variable containing a string, and a variable containing a number

Naming Rules for Variables
• A variable name must start with a letter or an underscore "_"
• A variable name can only contain alpha-numeric characters and underscores (a-z, A-Z, 0-9, and _ )
• A variable name should not contain spaces. If a variable name is more than one word, it should be separated with an underscore ($my_string), or with capitalization ($myString)

String Variables in PHP
String variables are used for values that contain characters.
Below, the PHP script assigns the text "Hello World" to a string variable called $txt:

The Concatenation Operator
The concatenation operator (.) is used to put two string values together.
To concatenate two string variables together, use the concatenation operator

If we look at the code above you see that we used the concatenation operator two times. This is because we had to insert a third string (a space character), to separate the two strings.
The strlen() function
The strlen() function is used to return the length of a string.

The strpos() function
The strpos() function is used to search for a character/text within a string.
If a match is found, this function will return the character position of the first match. If no match is found, it will return FALSE.

The position of the string "world" in the example above is 6. The reason that it is 6 (and not 7), is that the first character position in the string is 0, and not 1.

To be Continued

Testing Techniques - By Amar

Maestro performance testing approach. – By Siddu

Maestro Performance Testing Approach

Performance testing is one of the key areas of any application, in maestro the performance degradation is mainly observed while loading the widget. Hence we have considered this as a first area to explore and test for performance.

The first challenge for us is, there are millions of combinations of widgets, which one should we consider for testing?

To solve this we are adopting the following approach:

1.Write a query to extract user created widget data. Following widget creating options/combinations will be considered:

a.Widget Type
b.Entity Type
c.Chart Type
d.What to Plot
e.Date range used

2.Run the query and collect the data from all the production clients DB.

3.Identify widely created widgets and its combinations

4.List out all the performance related defects logged in JIRA and Bugzilla. Defects can be logged on production as well as QA sites.

5.Analyze and extract the defects related to widget loading and plotting.

6.Study the database to identify the large tables getting combined while creating the widget.

7.Study the database for complex queries formed during presenting in the UI.


Following data is taken from production Nintendo client.




By observing the data most of the users are creating with

Widget Types: “entity” and “entity sentiment”
Entity Types: “Company” and “Product”
Chart Types: “Line” and “Pie”
What to Plot: “Volume Assets”

-- Will be updating upon further findings

Monday, May 2, 2011

Testing process and few tips on Effective Software Testing - By Shwetha

Testing process

An important part of software quality is the process of testing and validating the software.

Test management is the practice of organizing and controlling the process and artifacts required for the testing effort.
Aspects of test management

Test management can be broken into different phases:

1.Organization
2.Planning
3.Authoring
4.Execution and
5.Reporting.

Test artifact and resource organization: is a clearly necessary part of test management. This requires organizing and maintaining an inventory of items to test, along with the various things used to perform the testing. This addresses how teams track dependencies and relationships among test assets. The most common types of test assets that need to be managed are:

•Test scripts
•Test data
•Test software
•Test hardware

Test planning: is the overall set of tasks that address the questions of why, what, where, and when to test. The reason why a given test is created is called a test motivator (for example, a specific requirement must be validated). What should be tested is broken down into many test cases for a project. Where to test is answered by determining and documenting the needed software and hardware configurations. When to test is resolved by tracking iterations (or cycles, or time period) to the testing.

Test authoring: is a process of capturing the specific steps required to complete a given test. This addresses the question of how something will be tested. This is where somewhat abstract test cases are developed into more detailed test steps, which in turn will become test scripts (either manual or automated).

Test execution: entails running the tests by assembling sequences of test scripts into a suite of tests. This is a continuation of answering the question of how something will be tested (more specifically, how the testing will be conducted).

Test reporting: is how the various results of the testing effort are analyzed and communicated. This is used to determine the current status of project testing, as well as the overall level of quality of the application or system.

The testing effort will produce a great deal of information. From this information, metrics can be extracted that define, measure, and track quality goals for the project. These quality metrics then need to be passed to whatever communication mechanism is used for the rest of the project metrics.


A very common type of data produced by testing, one which is often a source for quality metrics, is defects. Defects are not static, but change over time. In addition, multiple defects are often related to one another. Effective defect tracking is crucial to both testing and development teams.

Test management challenges
•Not enough time to test
•Not enough resources to test
•Testing teams are not always in one place
•Difficulties with requirements

Test management recommendations

The following are general recommendations that can improve software test management.
•Start test management activities early
•Test iteratively
•Reuse test artifacts
•Utilize requirements-based testing
•Leverage remote testing resources
•Defining and enforcing a flexible testing process
•Coordinate and integrate with the rest of development
•Communicate status
•Focus on goals and results
•Automate to save time


Few Questions should be constantly posed by the tester prior to testing which will make the objectives of testing very clear.

One way to sum up the objectives of test management is answering the following questions:
•Why should I test?
•What should I test?
•Where do I test?
•When do I test?
•How do I conduct the tests?


A few tips on Best Testing Practices.
Learn to analyze your test results thoroughly:
Do not ignore the test result. The final test result may be ‘pass’ or ‘fail’ but trouble shooting the root cause of ‘fail’ will lead you to the solution of the problem. Testers will be respected if they not only log the bugs but also provide solutions.

Learn to maximize the test coverage every time you test any application.
Though 100 percent test coverage might not be possible still you can always try to reach near it.

To ensure maximum test coverage break your application under test
(AUT) into smaller functional modules. Write test cases on such individual unit modules. Also if possible break these modules into smaller parts.

While writing test cases, write test cases for intended functionality first
First test cases should be written for valid conditions according to requirements. Then write test cases for invalid conditions. This will cover expected as well unexpected behavior of application under test.

Think positive. Start testing the application by intend of finding bugs/errors.
Don’t think beforehand that there will not be any bugs in the application. If you test the application by intention of finding bugs you will definitely succeed to find those subtle bugs also.

Write your test cases in requirement analysis and design phase itself.
This way you can ensure all the requirements are testable.

If possible identify and group your test cases for regression testing.
This will ensure quick and effective manual regression testing ‘accepting user information’ is one of the modules. You can break this ‘User information’ screen into smaller parts for writing test cases: Parts like UI testing, security testing, functional testing of the ‘User information’ form etc. Apply all form field type and size tests, negative and validation tests on input fields and write all such test cases for maximum coverage.

Applications requiring critical response time should be thoroughly tested for performance.
Performance testing is the critical part of many applications. In manual testing this is mostly ignored part by testers due to lack of required performance testing large data volume. Find out ways to test your application for performance. If not possible to create test data manually then write some basic scripts to create test data for performance test or ask developers to write one for you.

Go beyond requirement testing.
Test application for what it is not supposed to do.

While doing regression testing use previous bug graph (Bug graph - number of bugs found against time for different modules).
This module-wise bug graph can be useful to predict the most probable bug part of the application.

Note down the new terms, concepts you learn while testing.
Keep a text file open while testing an application. Note down the testing progress,observations in it. Use these notepad observations while preparing final test release report. This good habit will help you to provide the complete unambiguous test report and release details.

Many times testers or developers make changes in code base for application under test.
This is required step in development or testing environment to avoid execution of live transaction processing like in banking projects. Note down all such code changes done for testing purpose and at the time of final release make sure you have removed all these changes from final client side deployment file resources.

Keep developers away from test environment.
This is required step to detect any configuration changes missing in release or deployment document. Some times developers do some system or application configuration changes but forget to mention those in deployment steps. If developers don’t have access to testing environment they will not do any such changes accidentally on test environment and these missing things can be captured at the right place.

It’s a good practice to involve tester’s right from software requirement and design phase.
These way testers can get knowledge of application dependability resulting in detailed test coverage. If you are not being asked to be part of this development cycle then make request to your lead or manager to involve your testing team in all decision making processes or meetings.

Testing teams should share best testing practices, experience with other teams in their organization.

Increase your conversation with developers to know more about the product.
Whenever possible make face-to-face communication for resolving disputes quickly and to avoid any misunderstandings. But also when you understand the requirement or resolve any dispute - make sure to communicate the same over written communication ways like emails. Do not keep any thing verbal.

Don’t run out of time to do high priority testing tasks.
Prioritize your testing work from high to low priority and plan your work accordingly. Analyze all associated risks to prioritize your work.

Write clear, descriptive, unambiguous bug report.
Do not only provide the bug symptoms but also provide the effect of the bug and all possible solutions.

SILK test cross training- By Archana M

AUTOMATION TESTING:

Definition: Automated testing is running test cases where manual intervention is not required to run each one.

Benefits of Automated Testing:


Reliable: Tests perform precisely the same operations each time they are run, thereby eliminating human error

Repeatable: You can test how the software reacts under repeated execution of the same operations.

Programmable: You can program sophisticated tests that bring out hidden information from the application.

Reusable: You can reuse tests on different versions of an application, even if the user interface changes.

Better Quality Software: Because you can run more tests in less time with fewer resources

Fast: Automated Tools run tests significantly faster than human users.

Cost Reduction: As the number of resources for regression test are reduced.

SILK TEST AUTOMATION TOOL

Introduction:

Silk Test is a tool specifically designed for doing REGRESSION AND FUNCTIONALITY testing. It is developed by Segue Software Inc. Silk Test is the industry’s leading functional testing product for e-business applications, whether Window based, Web, Java, or traditional client/server-based. Silk Test also offers test planning, management, direct database access and validation, the flexible and robust 4Test scripting language, a built in recovery system for unattended testing, and the ability to test across multiple platforms, browsers and technologies.

You have two ways to create automated tests using silk-test:

1) Use the Record test case command to record actions

The record test case command helps us to record various actions which we perform on AUT(Application under test) actions are captured in the 4TEST language (which is the inbuilt language in SILK test tool).

These recorded actions are then saved as *.t file.

The *.t file saved in the SILK test environment, can be played back by clicking on the RUN command or by pressing F9 functional key.

In this way we can record actions on AUT and then play them back for verifying the results of the actions recorded.

2) Write the testcase manually using the 4Test scripting language.

One can write testcases manually by using scripting language i.e. 4test language by using various methods and functions available.



How SilkTest works?

Applications are composed of graphical user interface (GUI) objects such as
windows, menus and buttons that a user manipulates using a keyboard and a
mouse to initiate application operations. SilkTest interprets these objects and recognizes them based on the class, properties and methods that uniquely identify them. During testing, SilkTest interacts with the objects to submit operations to the application automatically, simulating the actions of a user, and then verifies the results of each operation. The simulated user, SilkTest, is said to be driving the application.


SilkTest consists of two distinct components that execute in separate
processes:


1)The SilkTest Host software

2)The SilkTest Agent software



The SilkTest Host

The host software is the SilkTest component you use to develop, edit,
compile, run and debug your test scripts and testplans. The machine that runs this component is often referred to as the host machine.


The SilkTest Agent


The SilkTest Agent is the component of SilkTest that interacts with the GUI
of your application. The Agent translates the commands in your 4Test scripts
into GUI specific commands, driving and monitoring the application you are
testing. The Agent can run locally on the same machine on which the Host is
running or, in a networked environment, any number of Agents can run on
remote machines. In a networked environment, the machine that runs the
Agent is often referred to as the remote machine.