linkedin September 2019 - pCloudy

iPhone 11, Pro, Pro Max available on pCloudy

Suyash Dubey
By Suyash Dubey
September 23, 2019
1 min Read
Share This Article
iPhone 11, Pro, Pro Max available on pCloudy

Since pCloudy is committed to providing to you with the newest, the fastest, here is another one. The newly released devices iPhone 11, iPhone 11 Pro and iPhone 11 Pro Max is now available on pCloudy for you to test your app.

Apple iPhone 11

iPhone 11 Pro

IPhone Pro Max

Want to test your Mobile App?

Join pCloudy Platform!


Related Articles:

  • pCloudy Announces Availability of iOS 11.3 and 11.4 (beta) Devices on Cloud
  • What’s New With iOS 11?
  • pCloudy Announces Availability Of iOS 13 (beta) and iPadOS Devices On Cloud
  • iPhone XS and XS Max Now Available on pCloudy For You to Test Your Apps
  • iOS 13: New Features And Their Impact On The Apps
  • Suyash Dubey
    Suyash Dubey

    Suyash is a content strategist at pCloudy. He is a frequent contributor to the world's leading mobile technology blogs and tech forums. In his spare time, you will find him reading detective novels, watching a documentary or exploring a new destination.

    Related Articles

    October 23, 2020
    Understanding Bamboo integration for CI/CD Pipeline

    There are nearly 23.9 million software developers who code and build programs for businesses and enterprises that look to providing solutions for a better living. This means that there are millions of lines of program code being written this very…

    Learn More Arrow

    October 19, 2020
    Hustler's Mantra: Adopt an experimental Mindset

    "The very basis of creative work is irreverence. The very basis of creative work is bold experimentation. There has never been a creator of lasting importance who has not also been an innovator"– Eric Temple Bell Most of us are…

    Learn More Arrow

    October 19, 2020
    iPhone 12 Launch, Features and Updates

    The number of active users from last year released by apple showed that there are close to 1.4 billion people in the world that use an iPhone. The number is only growing and adding more revenue to innovate and come…

    Learn More Arrow

    Selenium Testing For Effective Test Automation

    Suyash Dubey
    By Suyash Dubey
    September 19, 2019
    11 min Read
    Share This Article
    Selenium Testing For Effective Test Automation

    While there is a substantial increment in the mobile apps market share, web apps are still prevalent with a significant user base. Enterprises are focusing on the quality at speed when it comes to web apps, before deployment. This is where testing has an important role to play. UI testing is still mostly a manual process unlike some functional testing which can be automated. But it is sensible to automate testing which will save time and effort. When it comes to automation, Selenium testing is the first thing that comes to mind as it is the most popular test automation tool in the world. So let’s learn more about selenium testing.

    What is Selenium Testing

    Selenium testing tool is open-source and it enables users to drive interactions with the page and test the app across various platforms. It allows users to control a browser from their preferred language like Java, JavaScript, C#, PHP, Python, etc. Selenium has many tools and APIs for automating user interactions on HTML JavaScript apps on browsers like IE, Chrome, Firefox, Safari, Opera, etc.

    Asset 3100

    Selenium Framework is a code structure that helps to simplify and reuse the code. Without frameworks, we will place the code as well as data in the same place which is neither re-usable nor readable. Selenium automation frameworks are beneficial for higher portability, increased code re-usage, higher code readability, reduced script maintenance cost, etc.

    What is Selenium Web Driver

    Selenium WebDriver accepts commands via the client API and sends them to browsers. Selenium WebDriver is a browser-specific driver which helps in accessing and launching the different browsers like Chrome, Firefox, IE, etc. The WebDriver provides an interface to create and run automation scripts and every browser has different drivers to run the tests. The different drivers are IE Driver, Firefox Driver, Safari Driver, Chrome Driver, etc.

    Selenium WebDriver was introduced to negate limitations of Selenium RC, which offers enhanced support for web pages where the elements on a page change without reloading. Many browsers support selenium WebDriver and it uses each browser’s native support for automation testing. The features are supported and direct calls are made depending on the browser that is being used.

    Asset 2100

    WebDriver Project depends on the programming language as well as the development environment. Selenium supports multiple languages and projects can be set up using many programming languages. Selenium provides JavaScript bindings on npm. Java projects can be setup using Maven and it will also download Java bindings and dependencies to create the project.

    Run pip install selenium from the command line to add selenium in a python environment. C# bindings are there as part of a set of signed dlls and dependency dlls. You can get PHP bindings through third parties, including Chibimagic and Facebook. To add Selenium to your Ruby environment, run gem install selenium web driver from the command line.

    Once you set up the environment, the selenium webdriver operates like a normal library. The selenium webdriver can self sustain as there is no need to run any installers or process before using it.

    Selenium Grid

    Selenium grid is a part of the Selenium Suite that allows the running of multiple test cases across different browsers, operating systems, and machines in parallel. This is called parallel testing.

    In simpler words, it runs a test in parallel on multiple machines.

    The test cases are triggered by a local machine. When the test cases are triggered they are automatically executed by a remote machine. So one local machine controls the triggering of test cases on multiple remote machines. For this, you need to configure a remote server so that the test cases are executed there.

    Hence the architecture of the selenium grid consists of “Hub” and “Server”

    Hub in Selenium Grid

    Hub in selenium grid is the local machine that controls the triggering of the test cases which are executed in the multiple devices connected in parallel to it. So, the hub accepts the access request from the Webdriver client, routing the JSON test commands to the remote drives.

    In short, the hub is the central machine where you will load your test and run it, but the browser will be automated in the node.

    Node in Selenium Grid

    A node in the selenium grid is a machine in which the browser is automated and the test cases are executed
    which are triggered by the Hub. A node consists of the browser, native OS and remote web driver, in fact, all the nodes connected in parallel consists of this configuration.

    How does the selenium grid work?

    The selenium grid works like a regular web driver except for its two components, the Hub and Nodes (consists of remote Java Servlet which execute the test on a remote device) where the test cases are executed automatically through a remote web driver.

    In your test script, you define ‘desired capabilities’ (device, platform, browser, etc.) of the node where the test will execute. The Hub receives this script, runs through the registered nodes to find one that matches the desired capabilities, and assigns the test to it for execution.

    So, setting up Grid is not that difficult but scaling, configuring and maintaining its integrity may take lots of effort and resources.

    Hence, Selenium Grid is mostly used for Load testing, to calculate and optimize the maximum capacity of an application to sustain the peak user load. We can use it to determine whether the current infrastructure is sufficient to run the application. To measure the number of concurrent users that an application can support and the scalability to allow more number of users to access it.

    How does Selenium Boost Agile

    Agile is a simple, not much organized but a continuous model that has a modular structure that promises the quality of the product.

    The Agile workflow is as follows:

    Once the Stakeholders agree on the simplest working design, it gets divided into smaller modules.
    The module is then divided into the team of designers, software developers, and the Quality Assurance team.
    The team works in a sprint to make their particular module and take a time frame called “iteration”, a window of one to four weeks to complete it. (Scrum meeting are usually carried out to gather and track work updates).

    After each iteration, finished modules are put together. Multiple tests are run and the functional product is demonstrated to the stakeholder.

    On receiving the product, it is evaluated by the stakeholders, add customer feedback and adapt as required, (they might ask the engineering team to add features in the product whenever required).

    Where does the Selenium automation come in:

    After every iteration, the finished product goes through a number of testing like System and Integration testing. After receiving the functional product the stakeholders carry out the unit and user acceptance test.

    If there is any change or any feature is added then gain a series of functional test including regression testing is executed

    In this way, Selenium testing is very suitable and boost Agile Methodology.

    What types of testing can be automated by Selenium:

    1.Compatibility Testing

    Compatibility Testing is done by the QA team to assure that the web app meets the desired requirements on the browser-OS combination. Testing on various devices of different screen sizes is required to measure the responsiveness of the app. We need to test if the app is able to function properly in different types of browsers, also, for instance, to check whether the video adds are executed properly and runs on every browser and screen size. Here selenium automation will reduce the time and effort to execute the test cases.

    2. Performance Testing

    After the finished or functional product is handed over to the stakeholders they may run a series of performance testing to measure various parameters like loading speed, the navigation speed in case of web apps, responsiveness and stability of the product. In this case, an open-source tool like selenium which is easy to install and execute can be used to get accurate and efficient results.

    3. Integration Testing

    Integration testing is usually done while integrating all the modules coded separately also functions properly when assembled together. It is usually done when a new feature is added to the system. This requires a suite of lengthy test cases that requires automation to fetch efficient results. Selenium testing can make the process very easy.

    4. Regression testing

    A series of test cases are required to check if the new build feature is working in accordance with the existing feature. Also, you need to check if there is any adverse effect on the app due to the newly added feature. This is called regression testing. For example, if you want to add a call to action button in your blog page, you need to make sure that the button is working fine and also there is no change in the content of the blog page. Again selenium testing can help you to reduce the effort of using lengthy and test cases while giving accurate results.

    Writing a Script for Selenium Automation

    Let’s see how to launch a browser from the script. Make sure you have downloaded the selenium jar files and the third-party drivers. To launch a browser, the first thing you need to do is to create an object for web driver. Then use a get method to launch a new browser session and direct it to the URL specified in the parameters.

    Now you need the system pointing to the location of the downloaded exe file of your browser. You can do that by using System.setProperty. Then provide the browser driver in the key and the path to the location of the browser exe file in the value. Here System is a build-in class and setProperty is a method to access the browser driver.

    Script for Selenium Automation

    Once the path is set, you need to create an object for the WebDriver class. Hover the mouse on the highlighted value and then import it from the list as we have already added the jar files in the project.

    There are two more methods, driver.close() which can be used to close the active browser window and driver.quit() is used to close the browser as well as all the associated windows.

    To get the ID of any element in a web page like a button, image, logo, textbox etc., Just right-click and select inspect. You will get the source code from where you can copy the ID to be used in the script. You can also use any other element locator for the script.

    login to start the testing

    Now mention the driver instance and select the findElement method from the WebDriver class. Then select the ID locator and mentions the value which we copied from the source code. Use sendKeys to pass some value to a particular web element.

    How to use Selenium IDE for Test Automation

    Running test cases in Selenium IDE is easy. It is a Firefox plug-in which helps in recording the test and convert into code. There are multiple options for running a test case including a “Run” button to run the displayed test case.

    The “Run All” button is used to run the test cases in the test suite that are currently loaded. The “Pause” button allows pausing and restarting of a running test case. There is a “Speed” button to maintain the speed of the test case runs. With the “Record” button you can record the actions taken in the web browser.

    Selenium testing

    You can also use a base URL in selenium IDE to run test cases in multiple domains by mentioning a relative URL as the argument to open the test case.

    The table displays the command and their parameters in a readable format. Whereas the command target and value fields display the currently selected command along with its parameters. The log will show you any kind of error messages and information messages and in the reference, you will find the documentation of the selenium command currently used.

    You can use a simple HTML file and define your list of tests to define a test suite. Each row in the file should define the path to the tests you want to add in the suite. You’ll find many ways to put these tools to use to improve the development and testing processes.

    To Sum Up

    Enterprises are always looking to optimize the testing process and automation is one way to do it. Although it is important to use an effective tool for automation and Selenium automation testing is the best choice as it is open source and easy to use. Apart from Selenium testing, you can also opt for advanced tools like pCloudy, which has better features to make automation testing smooth as butter.

    Want to test your Mobile App?

    Join pCloudy Platform!


    Related Articles:

  • Selenium for Mobile App Testing
  • 17 Best Tips To Write Effective Test Cases
  • 5 Ways AI is Changing Test Automation
  • 8 Common Appium Mobile Test Automation Mistakes and How to Avoid Them
  • Cross Platform Mobile Test Automation Using Appium
  • Suyash Dubey
    Suyash Dubey

    Suyash is a content strategist at pCloudy. He is a frequent contributor to the world's leading mobile technology blogs and tech forums. In his spare time, you will find him reading detective novels, watching a documentary or exploring a new destination.

    Related Articles

    October 23, 2020
    Understanding Bamboo integration for CI/CD Pipeline

    There are nearly 23.9 million software developers who code and build programs for businesses and enterprises that look to providing solutions for a better living. This means that there are millions of lines of program code being written this very…

    Learn More Arrow

    October 19, 2020
    Hustler's Mantra: Adopt an experimental Mindset

    "The very basis of creative work is irreverence. The very basis of creative work is bold experimentation. There has never been a creator of lasting importance who has not also been an innovator"– Eric Temple Bell Most of us are…

    Learn More Arrow

    October 19, 2020
    iPhone 12 Launch, Features and Updates

    The number of active users from last year released by apple showed that there are close to 1.4 billion people in the world that use an iPhone. The number is only growing and adding more revenue to innovate and come…

    Learn More Arrow

    How To Install Appium On A Mac Machine

    Mallikharjun
    By Mallikharjun
    September 12, 2019
    4 min Read
    Share This Article
    How To Install Appium On A Mac Machine

    Quick Links:

    Mallikharjun
    Mallikharjun

    Mallikharjun works at pCloudy as a Sr. Executive - Digital Marketing. He has 7+ years of experience in SEO, SEM, Social media and Email Marketing. He likes to read current affairs, technology blogs and enjoys Carnatic music.

    Related Articles

    October 1, 2019
    How to use Appium Inspector for Test Automation

    [xyz-ihs snippet="quickLinks-Appium"]   In our previous chapter on Android, we learned about UI Automator Viewer, Which is available on Android SDK, to get the properties of the application object. In the case of iOS, Appium itself provides an Inspector which…

    Learn More Arrow

    August 21, 2019
    Starting Appium Server and launching the app from code

    [xyz-ihs snippet="quickLinks-Appium"]   In the previous blog in this series, we learned how to write the first Appium script for Android devices. Now in this blog, we will understand how to start the Appium server.   The code structure is…

    Learn More Arrow

    August 14, 2019
    Writing The First Appium Test Automation Script (Android)

    [xyz-ihs snippet="quickLinks-Appium"]   In the last blog in this series, we learned how to set up Appium for test automation on a Windows machine. Now we will handle the application by writing the Java code. We will require the following…

    Learn More Arrow

    17 Best Tips To Write Effective Test Cases

    shivani
    By shivani
    September 3, 2019
    7 min Read
    Share This Article
    17 Best Tips To Write Effective Test Cases

    Test cases are the first step in any testing cycle and are very important for any project. If anything goes wrong at this step, the impact gets proliferated in the entire software testing process. This can be avoided if the testers use proper procedure and guidelines while creating the test case template.

    In this blog, I am going to share some simple yet effective tips which you could use for writing effective test cases. These tips will save you time and effort while optimizing the use of resources.

    How to write test cases in a better way

    Let’s have a look a the tips to write better test case template.

    1. Detailed Domain Knowledge


    Domain knowledge in information technology means deep knowledge of business and operational dynamics, the risks involved and the opportunities in that particular project. It is required to follow the best practices in the domain.

    2. Break long test cases into many smaller ones


    It is better to break the test case into a group of smaller ones if it has too many steps. It would be easier for the developer to backtrack and repeat the test steps if an error occurs somewhere in the test script. If not done than there are high chances that the developer will miss the bug.

    3. Preconditions


    Before starting on the test case it is suggested confirm all the assumptions that apply to the test and the preconditions that must be met before execution. There can be data dependency or the dependencies on the test environment or any other test cases.

    4. Attach Artifacts


    Relevant artifacts should be attached to the test cases. This can be done using a test management tool. At the time of product delivery, It will help to track the changes in the application. I will be easy to understand the flow of the function when there is a change at any step which will not be easy to relate otherwise.

    5. Test data input


    While writing a new test case a tester can share test data wherever applicable to be used for the Test Case within the test case description or add with the specific test case step. This will save time as there is no need to look for the test data anywhere else.

    If the values are to be verified then testers can specify the value range or describe what values are to be tested for a particular field. Choose a few values from each class which will give good coverage for your test.
    It’s better not to mention the real test data value but the type of data which is required to run the test. In projects where multiple teams use the test data and it keeps changing, mentioning only the type of data will be a wise choice.

    6. Organize your work


    Use a test management tool to manages your test cases instead of using a spreadsheet. There are many test management tools that can be used to organize the test cases in one place which will increase the productivity of the team.

    7. Stop Assuming


    It is better to refer to the specification document. Assumptions about the features or functionalities can lead to disagreements between the client and the developers. This gap between the client’s requirement and the application under development will impact the business.

    8. Test Case Naming Conventions


    To write tests which are easy to understand, we have to stop coding on autopilot and pay attention to the naming conventions. It is required to name our test classes, fields of our test classes, test methods and the local variables while writing automated tests for our application.

    It does not matter which team member wrote the test, others will know what feature is tested under what scenario without even looking at the test code.

    9. Meet Customer’s Requirements


    If the testers miss a bug or write test cases that do not relate to the real world scenarios then it’s just a waste of resources and time. The goal is to meet the customer’s expectations and that can be attained only if the testers think from the users perspective.

    10. Cover All Verification Points


    It is important to write well-defined test case verification steps covering all the verification points for the feature under test. To make sure that the test Case covers all the verification points match your test case steps with the artifacts given for your project.

    11. Avoid Repetitions


    Do test automation when needed as it will reduce the manual effort and save a lot of time. The test scripts should be written in such a way that they can be used afterward for some other project.

    12. Make it Reusable


    Create test case template which could be re-used in the future by other teams. Also, before writing a new test case for your module, find out if there are similar test cases written already for some other project. Doing this you will avoid any redundancies in your test management tools. Call the existing test case in pre-conditions or at a specific design step if there is a need for a particular test case to execute some other test case.

    13. All-Inclusive Test Coverage


    Test cases should include all the features and functionalities mentioned in the software requirement. Requirement traceability matrix will help in finding the untested functions of the application.

    14. Group Similar Test Cases


    A test run is a collection of test cases that testers should execute in a particular order. Test cases are often grouped in test runs. It’s preferred to put preconditions at the beginning of a test run rather than inserting them into each test case.

    Actually, only a few of the test cases need preconditions, so the field is often left empty. A test management tool will help to customize your forms and create a test case template which will save your time and effort when writing test cases. Another thing to keep in mind is to avoid writing the same instructions several times by moving repeated preconditions to a test run.

    15. Easy to Understand


    The test cases should be well defined with comments where ever needed so that any other software tester can work on it in the future. Whatever project you work on, when designing test cases, you should always consider that the test cases will not always be executed by the one who designs them. Therefore, the tests should be easily understandable and to-the-point.

    In a scenario where the person who wrote all those test cases leaves for some reason and you have a completely new testing team to work with, the entire effort spent during the design phase could go down the drain.

    16. Test Case Description


    In the description, the testers need to mention all the details about what is going to be tested, what needs to be verified, the test environment and test data.

    The information mentioned below should be there in a well-written test case description:

  • Test to be carried out
  • Testing tools
  • Test Environment Details
  • Behavior being verified
  • Any dependencies like preconditions and assumptions
  • Test Data to be used
  • 17. Maintenance and Update


    All the test cases should be updated with the new requirements so it’s easier to execute them in the future if there is a need. Even if some other tester wants to use the test case he/she wouldn’t have to go through the details of the script.

    Conclusion


    The tester needs to have good domain knowledge and should write presentable test cases from the users perspective. A good test case template will make it easier for testers to write good test cases. If there are only a few test steps, consider making a checklist instead and have a look at some relevant test case examples before working on your test case. A test case example will be helpful in creating test case templates too. A test management tool will definitely help in improving the way test cases are created and managed.

    Related Articles:

  • Audio Interaction Testing On Remote Devices
  • Selenium Testing For Effective Test Automation
  • 5 Benefits of Parallel Testing
  • How to Measure the Success of End to End Testing
  • Mobile App Testing Strategies
  • shivani
    shivani

    She is a Product Marketer with over 9 years of diversified experience across content, branding, and product marketing. Her experience ranges from global brands to nimble startups. She is a custodian of Brand & Content, telling stories about the brand that delights customers and provides compelling business value.

    Related Articles

    October 23, 2020
    Understanding Bamboo integration for CI/CD Pipeline

    There are nearly 23.9 million software developers who code and build programs for businesses and enterprises that look to providing solutions for a better living. This means that there are millions of lines of program code being written this very…

    Learn More Arrow

    October 19, 2020
    Hustler's Mantra: Adopt an experimental Mindset

    "The very basis of creative work is irreverence. The very basis of creative work is bold experimentation. There has never been a creator of lasting importance who has not also been an innovator"– Eric Temple Bell Most of us are…

    Learn More Arrow

    October 19, 2020
    iPhone 12 Launch, Features and Updates

    The number of active users from last year released by apple showed that there are close to 1.4 billion people in the world that use an iPhone. The number is only growing and adding more revenue to innovate and come…

    Learn More Arrow

    Experience pCloudy Today

    Tickmark No Credit Card Required
    Tickmark Exceptional Security

    Copyright All Rights Reserved © 2020