Thursday, February 6, 2020

Tosca Concepts

Key Feature Of Tosca Testsuite
o    Script less (No programming language knowledge required)
o    Model Based (Work based on how your application looks)
o    UI and Non UI Applications can be automated (Web Applications, XML, SAP, Mainframe etc)
o    Can be Integrated with CI Tools like Jenkins using TOSCA CI.
Different Tools Under Tosca Testsuite Package
o    TOSCA Commander (where actual work is done)
o    TOSCA Executor (Used to execute test cases from TOSCA commander)
o    TOSCA Wizard (Used to scan applications, to create modules)
o    TOSCA CI (used to integrate with CI tools)
Scan modules
  1. Scan desktop
  2. Scan via webdriver
  3. Scan mobile
  4. Scan non ui

The Tosca Recorder allows you to createAutomated Test Cases and Automated Data-Driven Test Cases.

Different Ways To Identify Objects In Tosca Testsuite
o    Identify by properties- Identifying controls by their properties is the default identification method inTosca XScan. The Identify by Properties window contains all the technical information and properties of the selected control
o    Identify by Anchor - Identify by anchor means Identify the object / Element uniquely by taking reference of other uniquely identified object / element
o    Identify by image - Tosca can identify controls from an image by creating a screenshot for a specific control.
o    Identify by index This option shows or hides the Identify by Indexwindow. If a selected control does not have a unique ID, you can select an index to be used upon test execution to identify the control.
TOSCA Commander objects
  1. TestCase consists of several TestStepswhich determine the test process. EachTestStep maps one page of the Tricentissample application (also known as "the test object"). TestSteps are processed in sequential order. You specify your test datain the TestStepValues of the TestSteps. Test data are data which are used in the application upon test execution. This is for instance the case when a specific text is written to an input field, or when a button is clicked
  2. Automated TestSteps are based on Modules. Modules contain technical informationwhich is used to identify and steer screen items. These items can for instance be buttons or input fields. Tosca creates aModuleAttribute for each item and saves this to the Module. In Tosca, test data are separated from technical steering information. This allows Modules to be used repeatedly to create various TestSteps for any number of TestCases in order to test a variety of data.
  3. ExecutionLists enable you to run your Test Cases and to log the results of the test execution

Icon
Object
Description
Modules
Represent the technical steering information
TestCases
Determine the test sequence and contain test data
ExecutionLists
Serve to plan and manage the test execution

TOSCA commander Tabs
  1. Requirements (yellow)
  2. Testcases (blue)
  3. Modules (orange)
  4. Testcase design (red)
  5. Execution list (green)
  6. Issues

Action modes in tosca
ActionModes are used to steer the test object. They define how the value in the Value field should be applied for XTestStepValues in order to steer the control. For further information on how to specify values in the Value column. TheActionModes available to an XTestStepValuedepend on the InterfaceType of the referencedXModuleActionModes perform reading or input operations on a control. Reading operations read the property that is defined for a control. Input operations modify the defined property during test execution.
ActionModes for input operations:
  • Input
  • Insert
ActionModes for reading operations:
  • Buffer
  • Constraint
  • Verify
  • WaitOn
  • Select

Reporting in tosca
TOSCA allows you to generate reports on the following object types:
  • Modules
  • TestCases
  • ExecutionLists
  • ExecutionLogs
  • Requirements 
  • Requirement sets 
  • Project root
The Tosca Reporting component is part of the Tricentis Tosca standard installation.
Steps to create reports in TOSCA
  1. Create report definetion
  2. Link objects to report definitions
  3. Select a designer definition
  4. Import pre built reports
  5. Assign print groups
Take Screen Shot In Tosca Testsuite
A standard module is provided by tricentis to take screenshot. It is present in standard modules. TBox TakesScreenshot
Recovery Scenario In Tosca Testsuite
As the name suggest, it is to recover from failure. During the test execution if your test case fails (that could be due to any reason), Recovery scenario is a set of steps to ensure that next test case after this failed test case should run properly. there shouldnt be any impact of this failed test case on them. In recovery scenario, we can retry at test case level, test step level or at test step value level. In Setting -> TBox -> Recovery. There are two conditions when we can recover, on dialog failure & on verification failure.
Cleanup Scenario In Tosca Testsuite
Cleanup scenario is a part of recovery scenario and is next step to recovery scenario. Cleanup scenario is invoked when recovery scenario fails
Difference Between Executing Test Cases In Scratch Book And Executionlist Both ways are used to run Test cases in TOSCA TestSuite. When we construct the test case, that time we can execute it from scratchbook, where no logs are saved. But once test case is ready then you need to move that to execution list & while doing actual test case execution, we should execute it from execution list. Logs are saved there. Jenkins can execute test cases from execution list.
Dynamic Expressions - Dynamic Expressions basically means its value is generated dynamically, at runtime
Dynamic Expression Available In Tosca
Random numbers {RND[]}
Random text {RANDOMTEXT[]}
Random character strings (16 byte long) {CTMSTMP}
Intervals {INT[+/-]} Example – 123,6{INT[+/-5]}
Date expressions
Time expressions

Action Mode For Dynamic Buffer
Action mode for Xbuffer should be: Verify-Syntax for XBuffer: {XB[]}
Difference Between Buffer And xBuffer
Buffers are temporarily saved to the section Buffer of the Settings dialog under Settings->Engine.
To buffer a value in the Settings dialog, a Buffer name and a Buffer value are required. Set the ActionMode to Buffer. The XBuffer allows you to read dynamic values of a string and to buffer them using the ActionMode Verify. Example: your order no: 12345 is placed successfully Now in this case, if you want to get order number only, then we can do this by buffer
Action Mode Constraint Action mode constraint is used to limit the search. If constraint is specified along with verify, it will verify only those item where constraint is verified
Explain Synchronization In Tosca ? Where Is The Setting For Synchronization?
synchronization means matching the application speed with automation tool speed. In tosca, synchronization can be achieved by using ActionMode waiton  synchronization setting is done under Setting -> TBox – > synchronization   There you can set default synchronization Time out (which will be applied globally) and synchronization Timeout during waiton.
What Is Library Parameter? Where Can We Define Them?
Library parameter is nothing but business parameter which is used to pass dynamic values in test step blocks. Example – Let us say library is created for test step blocks which includes username and password. But if for few test cases you wanted to enter different different user name and passwords, then business parameter will help you.
What Is Business Parameter? Where To Use Them? Scenario?
Business parameter which is used to pass dynamic values in test step blocks. Business parameter is created by Right-click on a Reusable TestStep Block and select Create Business Parameter Container from the context menu. Example – Let us say library is created for test step blocks which includes user name and password. But if for few test cases you wanted to enter different different user name and passwords, then business parameter will help you.
What Is Test Configuration Parameter? Where To Use Tcp?
o    Test Configuration Parameter (TCP) is used to set some specific value to number of test cases. For Example – Browser, URL, username & password etc.
Test configuration parameters can be created for the objects listed below
o    Project root element
o    TestCase folder
o    TestCase
o    Execution List folder
o    Execution List
There are some system defined Test configuration parameters like Browser, Target Time Format, TDConnection, TestStepRetries and many other.
Tql and usages - Tosca query language (TQL) is a powerful search method by using which you can query on your project to find anything which you want. So here we need to write the query in the the language which system can understand. There are various expressions, functions are available to write TQL
What Is Tcshell? Have You Used It? TCShell is a command line controlar for TOSCA Commander. TC-Shell can be started from the Windows command line using parameters and parameter values.  The command TCShell.exe starts the TC-Shell. The TCShell.exe file is located in the following directory: %TRICENTIS_HOME%. Executing the TCShell.exe requires that a workspace is specified. In addition, there are also optional start parameters available. For this we need to configure “TCShell.exe.config”.
Xml Testing - XML testing is possible by using TOSCA Testsuite. We can insert data in XML and verify data from xml. On folder, right click, Select scan application & then select Non UI. You have 2 options there, scan from URL or scan from file (based on your need).
Ms Excel In Tosca It is Possible, We can Microsoft excel in TOSCA TestSuite  by using Excel Engine. Various operations like read data, write data in excel can be performed using excel engine. Excel Engine is not a part of standard modules, we need to download and then import it. The sequence of operations (to read / write excel) is – Open Excel workbook, Set Active workbook, Set Active Worksheet, Excel create range, Set Active range, set excel header, After all these set of steps, we can have read / write / verify data in/from excel followed by Closing excel workbook.
Pdf Testing Tricentis has provided us a standard module to perform PDF compare. It is present in AidPack engine under PDF folder. Name of that standard module is – TC PDF Compare. In this, we can provide base file  and new file path & can compare. There is also facility to replace the text (If you want to ignore something while comparing).
Api Testing API Testing can be done by using TOSCA TestSuite. TOSCA API Scan is to achieve this. We can either specify url or file path where the JSON or XML file (API) is located. We can send the request, verify the response, XML structure automatically
Test Data Management (tdm) Test data management is used to manage the test data needed for test execution. Test data management is part of the Tricentis Tosca Testsuite standard installation. Tosca uses the same database as the common repository does for test data management for DB2, Oracle and MS SQL Server repositories. For SQLite repositories, a separate TDM repository is created.
Tosca Jira Integration TOSCA Can be integrated with JIRA for defect tracking. We can submit issue from from TOSCA to JIRA & if you want to change the status, then we can synchronization issue in TOSCA so that that will get reflected in JIRA
Tosca Qc / Alm Integration HP Quality Center is an application which allows TestCases, Requirements, ExecutionLists and defects to be managed. These objects can be synchronized with Tosca Commander™ by using Tosca Quality Center Integration
How Data Driven Testing Is Achieved In Tosca Testsuite Data driven testing in TOSCA Testsuite can be achieved by using testsheet in TestCaseDesign Section.There we can create an attributes (Parameters which need to cover for data driven testing) & Create various instances (possibilities) for each attribute. Finally generate instances. Create a template from your testcase, attach test data sheet to template & then instantiate the template.

SQL useful queries

Few useful queries

to fetch only the first name(string before space) from the FullName column of EmployeeDetailstable
mySQL- SELECT MID(FullName, 0, LOCATE(' ',FullName)) FROM EmployeeDetails;
SQL Server - SELECT SUBSTRING(FullName, 0,CHARINDEX(' ',FullName)) FROM EmployeeDetails;
SELECT LEFT(FullNameCHARINDEX(' ',FullName) - 1) FROM EmployeeDetails

SQL query to fetch duplicate records from a table.
SELECT EmpId, Project, Salary, COUNT(*) FROMEmployeeSalary GROUP BY EmpId, Project, Salary HAVING COUNT(*) > 1;
remove duplicates from a table without using a temporary table.
DELETE FROM EmployeeSalary  WHERE EmpId IN(SELECT EmpId FROM EmployeeSalary GROUP BYEmpId, Project, Salary HAVING COUNT(*) > 1));
query to fetch only odd rows from the table
SELECT E.EmpIdE.ProjectE.Salary FROM(SELECT *, Row_Number() OVER(ORDER BYEmpId) AS RowNumber FROM EmployeeSalary) E WHERE E.RowNumber % 2 = 1;
SQL query to fetch only even rows from the table
SELECT E.EmpIdE.ProjectE.Salary FROM(SELECT *, Row_Number() OVER(ORDER BYEmpId) AS RowNumber FROM EmployeeSalary) E WHERE E.RowNumber % 2 = 0;
SQL query to create a new table with data and structure copied from another table SELECT * INTO newTable FROM EmployeeDetails;
SQL query to create an empty table with the same structure as some other table. SELECT * INTO newTable FROM EmployeeDetails WHERE 1 = 0;
SQL query to fetch common records between two tables SELECT * FROM EmployeeSalaryINTERSECT SELECT * FROM ManagerSalary;
SQL query to fetch records that are present in one table but not in another table. SELECT * FROM EmployeeSalary MINUS SELECT * FROMManagerSalary;
SQL query to fetch top n records
MYSQL- SELECT * FROM EmployeeSalary ORDERBY Salary DESC LIMIT N;
SQL Server -SELECT TOP N * FROM EmployeeSalaryORDER BY Salary DESC;
Oracle -SELECT * FROM(SELECT * FROMEmployeeSalary ORDER BY Salary DESC)WHEREROWNUM <= 3;
query to find the nth highest salary from table
SQL server- SELECT TOP 1 Salary FROM (SELECTDISTINCT TOP N Salary FROM Employee ORDERBY Salary DESC) ORDER BY Salary ASC
MYSQL-SELECT Salary FROM Employee ORDERBY Salary DESC LIMIT N-1,1
Write SQL query to find the 3rd highest salary from table without using TOP/limit keyword
SELECT Salary FROM EmployeeSalary Emp1 WHERE2 = (SELECT COUNT( DISTINCT ( Emp2.Salary ) )FROM EmployeeSalary Emp2 WHERE Emp2.Salary > Emp1.Salary)
For nth highest salary-
SELECT Salary FROM EmployeeSalary Emp1 WHEREN-1 = (SELECT COUNT( DISTINCT ( Emp2.Salary ) )FROM EmployeeSalary Emp2 WHERE Emp2.Salary > Emp1.Salary)
Aggregate functions in SQL
  • Count()
  • Sum()
  • Min()
  • Max()
  • Avg()
Case example
SELECT OrderID, Quantity,
CASE
    
WHEN Quantity > 30 THEN "The quantity is greater than 30"
    
WHEN Quantity = 30 THEN "The quantity is 30"
    
ELSE "The quantity is under 30"
END AS QuantityText
FROM OrderDetails;
LIKE example % - The percent sign represents zero, one, or multiple characters, - The underscore represents a single character
Select * from table where empname like “%a”;
Select * from table where empname like “a__”; return name start with a and having 3 characters