Vinod Sebastian – B.Tech, M.Com, PGCBM, PGCPM, PGDBIO

Hi I'm a Web Architect by Profession and an Artist by nature. I love empowering People, aligning to Processes and delivering Projects.

Tag: Programming World

Programming World

  • Link for Downloading QC and QTP from HP

    Link for Downloading QC and QTP from HP

    If you are looking to download Quality Center (QC) and Quick Test Professional (QTP) from HP, you can access the download page through the following link:

    Download QC and QTP from HP

    Quality Center (now known as HPE ALM) is a test management tool used for test planning, execution, and defect tracking. Quick Test Professional (now known as Micro Focus UFT) is an automated functional testing tool that helps testers in creating and running automated tests.

    By downloading these tools, you can enhance your testing capabilities and streamline your testing processes.

  • Miscellaneous

    Database Tips and Tricks

    Regular Expressions

    Regular expressions (regex) are powerful tools for pattern matching in strings. In Oracle, there are several functions that utilize regular expressions:

    • REGEX_SUBSTR(string, pattern, position, which_occurrence, instruction_of_match): Returns the character string matched.
    • REGEX_INSTR(string, pattern, position, which_occurrence, optional, instruction_of_match): Returns the position of the match. Set optional = 1 to get the position after the match.
    • REGEX_REPLACE(string, pattern, replace, position, optional, instruction_of_match): Replaces the matched pattern in the string.
    • CHECK (REGEXP_LIKE(column_name, regex_expression)): Checks if a column value matches the regex pattern.
    • Useful information:
      • Instructions for matching include: c for case-sensitive, i for case-insensitive, n to match newline, m for multiline, and x to ignore white spaces.
      • [ ] matches any one character, while [^ ] matches any character except the specified one.
      • [:graph:] is equivalent to [A-Za-z0-9punctuation].
      • Quantifiers: + for one or more, * for zero or more, ? for zero or one, and {n1}, {n1,}, {n1,n2} for specific repetitions.
      • (ab|bc|cd) uses | as an OR operator.
      • Use to escape special characters.
      • ^ denotes the start of a string, while $ denotes the end.
      • The first captured expression is referenced as 1.

    Session Control Statements

    In Oracle, session control statements are used to manage the current session:

    • ALTER SESSION: Modifies the current session’s settings.
    • SET ROLE: Assigns roles to the current session.

    System Control Statements

    System control statements in Oracle are used for system-wide changes:

    • ALTER SYSTEM: Alters system parameters.

    Embedded SQL Statements

    Embedded SQL statements refer to any Data Definition Language (DDL), Data Manipulation Language (DML), or Transaction Control Language (TCL) integrated into a third-generation programming language (3GL).

    Miscellaneous Tips

    Here are some additional miscellaneous tips and commands:

    • System Privileges vs. Object Privileges: System privileges are like having a license to drive any car, while object privileges are specific to driving a particular car.
    • CREATE USER username IDENTIFIED BY password: Creates a new user with the specified username and password.
    • ALTER USER username IDENTIFIED BY password: Modifies the password for an existing user.
    • DROP USER username: Removes a user from the database.
    • DROP USER username CASCADE: Drops a user and all objects owned by the user.
    • CONNECT username/password: Connects to the database using the specified username and password.
  • Tools

    Essential Tools for IT Testing

    Quality Control Tools

    In the realm of software testing, having a reliable repository to manage test cases and defects is crucial. Here are some standard quality control tools:

    • QC (formerly known as Mercury Test Director): QC, or Quality Center, is a comprehensive test management tool that helps in organizing and executing test cases, tracking defects, and generating reports.
    • ClearQuest: IBM Rational ClearQuest is another popular tool used for defect tracking and change management.
    • Bugzilla: An open-source bug tracking system that enables testers to record and track bugs in software applications.

    Automation Testing Tools

    Automation testing tools play a vital role in accelerating the testing process and ensuring software quality. Here are some essential automation testing tools:

    • WinRunner/QTP: WinRunner, later replaced by HP QuickTest Professional (QTP), is a functional test automation tool used for regression testing.
    • LoadRunner: LoadRunner is a performance testing tool that helps in simulating user traffic and analyzing the performance of applications under various load conditions.
  • Transaction Control Language

    Understanding Transaction Control Language in Databases

    Transaction Control Language (TCL) plays a crucial role in managing transactions within a database. It allows users to control the flow of transactions by defining checkpoints, committing or rolling back changes, and creating savepoints.

    Key Features of Transaction Control Language:

    • Session-based: TCL operates on a per-session basis, allowing users to control transactions within a specific session without affecting others.
    • SAVEPOINT: TCL enables the creation of savepoints, which define a specific point within a transaction to which you can roll back if needed.
    • ROLLBACK WORK: This command is used to undo changes made within a transaction up to a specified savepoint or the beginning of the transaction.
    • COMMIT WORK: When you are satisfied with the changes made within a transaction, the COMMIT WORK command is used to permanently apply those changes to the database.

    By understanding and utilizing TCL effectively, database users can ensure data integrity and consistency while managing transactions efficiently.

  • Models

    Models

    Common Software Testing Models

    • Collaborative Model
    • IV V Model (Independent Verification and Validation)
    • Test Centre Model

    Build Verification Test vs. Build Acceptance Test

    Verification and validation are essential processes in software testing. Verification involves reviews and meetings to assess documents, plans, code, requirements, and specifications. This is typically done using checklists, issue lists, walkthroughs, and inspection meetings. Validation, on the other hand, involves actual testing and occurs after verifications are completed.

    Internationalization and Localization

    Internationalization (I18n) is the process of designing software applications to be adaptable to various languages and regions without requiring engineering changes. Localization (L10n) is the process of customizing internationalized software for a specific region or language by incorporating locale-specific components and translating text.

    One method used in this process is pseudo localization, which involves:

    • Using larger sentences to test how the text adjusts – Pseudo localization
    • Using longer words to check for vertical cutoffs – Pseudo localization
    • Ensuring characters of the target language are correctly rendered
    • Verifying if there is support for different currencies and dates, which may require code modifications

    Additional Information

    Software testing models play a crucial role in ensuring the quality and reliability of applications. Collaborative models emphasize teamwork and communication among team members. The IV V Model focuses on independent verification and validation processes to enhance software quality. The Test Centre Model involves establishing dedicated testing centers to streamline testing procedures.

    Understanding the differences between build verification tests and build acceptance tests is vital for effective testing strategies. Internationalization and localization are key considerations for software products targeting diverse global markets.

  • Data Control Language

    Data Control Language

    Role and System Privileges

    In database management, role and system privileges are essential for controlling access and permissions effectively. While roles and system privileges can be granted together, they cannot be granted with object privileges.

    Data Dictionary

    The data dictionary in a database contains metadata, which is data about the data stored within the database. Some important tables within the data dictionary include:

    • DBA_TABLES: Contains information about all tables in the database.
    • ALL_TABLES: Lists all tables that the current user has privileges to access.
    • USER_TABLES: Displays all tables owned by a specific user.

    Common attributes found in these tables include TABLE_NAME, STATUS, ROW_MOVEMENT, AVG_ROW_LEN, and OWNER.

    System Operations

    System operations involve managing privileges within a database. Some key operations include:

    • GRANT privilege TO user: Grants a specific privilege to a user.
    • REVOKE privileges FROM user: Removes previously granted privileges from a user.
    • Use ANY: Allows granting privileges to any user without specifying a particular user.
    • WITH ADMIN OPTION: Enables a user to grant the same privilege to others.
    • Revoking WITH ADMIN OPTION: Revocation of this option does not cascade to other users.
    • GRANT ALL PRIVILEGES TO user: Grants all available privileges to a user.
    • GRANT privileges To PUBLIC: Grants specific privileges to all users (public).

    Object Privileges

    Object privileges control access to specific objects in the database. Important points regarding object privileges include:

    • PUBLIC SYNONYMS: These do not require access permissions as they are public, but the table they reference needs specific permission.
    • GRANT user PRIVILEGES ON table TO user WITH GRANT OPTION: Allows a user to grant the same privileges to others.
    • ALL PRIVILEGES: Can be abbreviated as ALL when granting privileges on objects.
    • REVOKE privileges ON table FROM user: Revokes privileges on a specific table, cascading to related objects.

    Column-Level Privileges

    Column-level privileges involve granting permissions at the column level, usually limited to INSERT, UPDATE, and REFERENCES operations. When granting INSERT at the column level, all non-null columns in the row must be included.

    User Privileges

    Understanding user privileges is crucial for managing access within a database. Some key aspects include:

    • USER_SYS_PRIVS (PRIVILEGE, ADMIN_OPTION): Displays privileges for the current user.
    • USER_TAB_PRIVS: Shows on whom the user has granted privileges.

    Types of Users

    Users in a database are categorized based on their roles and permissions. Common types of users include:

    • CONNECT: Typically used for generic user sessions.
    • RESOURCE: Commonly assigned to application developers for creating tables.
    • DBA: Designates a database administrator with extensive privileges.
    • CREATE ROLE rolename: Creates a new role in the database.
    • GRANT privilege TO rolename: Grants a specific privilege to a defined role.
    • GRANT role TO user: Assigns a role to a user without cascading effects.
    • Role and privilege assignments: These assignments are independent of each other.
  • SAS 70 Type II Audit – Data Security

    SAS 70 Type II Audit – Data Security

    Overview

    SAS 70 (Statement on Auditing Standards) Type II Audit is an examination of the controls that impact the security, availability, processing integrity, confidentiality, and privacy of data processed by a service organization. It provides assurance to customers and stakeholders regarding the reliability of the service provider’s systems and processes.

    Types of Testing in SAS 70 Type II Audit

    • Compatibility Testing: This type of testing evaluates how well software functions in specific hardware, software, operating system, network, or other environments.
    • Exploratory Testing: It involves creative and informal testing without predefined test plans or cases. Testers learn about the software while testing.
    • Ad-hoc Testing: Similar to exploratory testing, but testers have a good understanding of the software before testing begins.
    • Context-Driven Testing: Testing based on an understanding of the environment, culture, and intended use of the software. Testing strategies vary based on the software’s purpose.
    • Comparison Testing: This involves evaluating the strengths and weaknesses of software in comparison to its competitors.
    • Mutation Testing: A method to assess the effectiveness of test data or cases by intentionally introducing code changes (bugs) and retesting to check if the bugs are detected. It requires significant computational resources.

    Importance of SAS 70 Type II Audit

    Conducting a SAS 70 Type II Audit is crucial for service organizations to demonstrate their commitment to data security and compliance with industry standards. It enhances trust with customers and partners by providing independent validation of the organization’s controls and processes.

    Conclusion

    In conclusion, SAS 70 Type II Audit plays a vital role in ensuring the security and integrity of data processed by service organizations. By undergoing this audit, organizations can showcase their dedication to maintaining robust controls and meeting stringent data security requirements.

  • Data Manipulation Language

    Data Manipulation Language

    Data Manipulation Language (DML) is a subset of SQL (Structured Query Language) used to interact with databases like Oracle. It encompasses various operations for managing data within a database system such as querying, inserting, updating, and deleting data from tables.

    SELECT Statement

    • The SELECT statement is fundamental in DML, allowing users to retrieve data from one or more tables in a database. Key features include:
    • Projection, selection, and joining capabilities for fetching specific data
    • Options like DISTINCT to remove duplicate rows, UNIQUE to ensure unique results, and ALL to include all rows
    • Pseudo columns such as ROWNUM for row numbers and ROWID for row identifiers
    • Usage of ASTERISK (*) for selecting all columns from a table
    • Manipulation of literals like numbers, strings, dates, and intervals within queries
    • Application of operators following standard precedence rules for calculations

    Views, Tables, and Synonyms

    • Views: Virtual tables generated by executing a SELECT query, providing a structured representation of data from one or more tables.
    • Tables: Physical storage structures in a database holding data, defined in the data dictionary and consisting of rows and columns.
    • Synonyms: Alias names for database objects such as tables, views, sequences, and procedures, simplifying queries and enhancing security by concealing actual object names.
    • DESCRIBE: SQL command displaying the structure of a table, including column names, data types, and constraints.

    Filtering and Sorting

    • Filtering data involves utilizing the WHERE clause with conditions like IN for matching values in a list, LIKE for pattern matching, IS NULL to identify null values, and NOT NULL to exclude null values
    • Understanding the behavior of NULL values in comparisons and logical operations
    • Sorting data using the ORDER BY clause to arrange results in ascending or descending order based on one or more columns

  • Different Types of Testing

    Different Types of Testing

    Black Box Testing

    Black box testing is a type of testing that focuses on the external behavior of the software without considering its internal logic or code structure. Test cases are derived from the functional specifications of the software.

    White Box Testing

    White box testing, also known as glass box or transparent testing, involves examining the internal structure and workings of the software being tested. Test cases are based on the code structure, paths, and conditions within the software.

    Grey Box Testing

    Grey box testing combines elements of both black box and white box testing methodologies. Testers have limited knowledge of the internal workings of the software but can still design test cases based on an understanding of the system and its requirements.

    Unit Testing

    Unit testing is a software testing method that focuses on testing individual units or components of a software application in isolation. It is typically performed by developers and aims to validate the correctness of specific functions or code modules.

    Sanity Testing or Smoke Testing

    Sanity testing, also known as smoke testing, is a preliminary testing process to quickly evaluate whether the software application is ready for more rigorous testing. It aims to determine if the major functionalities work without encountering critical issues.

    Incremental Integration Testing

    Incremental integration testing is an approach where software modules are integrated and tested incrementally to ensure that they function correctly together. This method helps identify issues early in the development process and ensures smooth integration of different components.

    Performance Testing

    Performance testing assesses the responsiveness, stability, and scalability of a software application under various conditions. Different types of performance testing include:

    • Load Testing: Evaluates the system’s ability to handle a specific load or number of users.
    • Stress Testing: Tests the system’s behavior under extreme conditions or beyond its normal operational capacity.
    • Spike Testing: Checks how the system reacts to sudden spikes in load or traffic.
    • Endurance Testing: Evaluates system performance over an extended period to detect any performance degradation or memory leaks.
    • Volume Testing: Determines the system’s performance when handling a large volume of data.

    Security Testing

    Security testing is conducted to identify vulnerabilities in a software system and ensure that it is protected against unauthorized access, data breaches, and other security risks. It includes:

    • Application Security: Assessing the security of the software application to prevent unauthorized access and data manipulation.
    • Physical Security: Implementing measures to protect the physical infrastructure hosting the software.
    • Data Security: Ensuring the confidentiality, integrity, and availability of data within the system.
    • Client Security: Securing client-related information and communications within the software.

    Usability Testing

    Usability testing focuses on evaluating a software product by testing it with actual users to determine how user-friendly and intuitive the interface is. This type of testing helps identify user experience issues and improve overall user satisfaction.

    Compatibility Testing

    Compatibility testing ensures that a software application functions correctly across different devices, operating systems, browsers, and network environments. It helps verify that the software can deliver a consistent user experience regardless of the platform used.

    Regression Testing

    Regression testing involves retesting a software application to ensure that recent code changes have not adversely affected existing features. It helps maintain the quality and stability of the software by identifying and fixing any unintended consequences of updates or modifications.

  • Data Definition Language

    Data Definition Language

    Data Definition Language (DDL) in databases comprises a set of commands used to define the structure and properties of data within a database. These commands play a crucial role in creating, modifying, and deleting database objects.

    Key DDL Commands:

    • DEFAULT: Sets a default value for a column.
    • CONSTRAINT name_PK PRIMARY KEY (fieldname): Establishes a primary key constraint to uniquely identify rows in a table.
    • CONSTRAINT name_FK FOREIGN KEY (fieldname): Enforces referential integrity by linking one table’s key to another table’s key.
    • CONSTRAINT name_NN NOT NULL (fieldname): Ensures that a column cannot contain NULL values.
    • CONSTRAINT name_CK CHECK (fieldname IN(x,y)): Adds a condition to check the data before inserting or updating it.
    • CONSTRAINT name_UQ UNIQUE (fieldname): Ensures that all values in a column are unique.

    When DDL commands are executed, an implicit commit occurs, committing the transaction even if the command fails or is rolled back.

    Common DDL Operations:

    • CREATE DATABASE: Initiates the creation of a new database.
    • CREATE TABLE: Defines the structure of a new table including its columns, data types, and constraints.
    • ALTER TABLE: Modifies the structure of an existing table by adding, modifying, or dropping columns.
    • ALTER TABLE RENAME: Changes the name of a column in a table.
    • ALTER TABLE DROP: Removes a column from a table.
    • ALTER TABLE SET UNUSED COLUMN: Marks a column as unused to improve performance without deleting the column.

    Constraints and Validation:

    • ENABLE: Enforces constraints on data to maintain data integrity.
    • DISABLE: Allows data to be entered even if it violates constraints.
    • VALIDATE: Checks existing data against constraints to ensure they are met.
    • NOVALIDATE: Skips the validation process for existing data against constraints.

    Views and Sequences:

    • CREATE VIEW: Defines a virtual table based on the result of a query for data abstraction and security purposes.
    • CREATE SEQUENCE: Generates unique numeric values typically used for generating primary key values.

    Indexes and Synonyms:

    • CREATE INDEX: Enhances the performance of queries by speeding up data retrieval.
    • CREATE UNIQUE INDEX: Ensures the uniqueness of values in a column to prevent duplicate entries.
    • CREATE SYNONYM: Provides an alternative name or alias for a table, view, sequence, or other schema objects.

    Additional DDL Operations:

    • GRANT: Assigns specific access privileges to users or roles to manipulate database objects.
    • FLASHBACK: Allows the restoration of database objects to a previous state, enabling point-in-time recovery.

    Example of External Table Creation:

    CREATE TABLE statments
        ORGANIZATION EXTERNAL
        (TYPE ORACLE_LOADER
        ACCESS PARAMETERS
        (RECORDS DELIMITED BY NEWLINE
        SKIP 2
        FIELDS ( fieldname fieldtype)
        )
        LOCATION 'filepath'