Is Grammarly Premium Worth It For Students? [2023 Review]

Is Grammarly Premium Worth It For Students? [2023 Review]

Is Grammarly Premium Worth It For Students? [2022 Review]

Yes, Grammary Premium is worth it - especially for students! And this is coming from a student herself.

There is a lot of contention about Grammarly’s effectiveness as a virtual writing assistant, and I’ll get into that. I never bothered to upgrade to the Premium version until this month. 

So, how can I say that Grammarly is a good purchase? Let me explain.

Why I Got Grammarly Premium‍

There were three main reasons why I signed up for Grammarly Premium: 

  • The move to online classes
  • Being a freelance writer
  • Constantly emailing professors and clients due to reasons 1 and 2 
  • Jmeter - Ultimate Thread Group Scenario

    Jmeter - Ultimate Thread Group Scenario

    While I was searching for a JMeter problem, I saw a guy asking help for a complicated Workload scenario in a blog.
    Scenario:-
    The under-test web application has 5 scenarios. The ratio to hit these scenarios are as follows : 10:25:30:5:30 by percentage. The total time of execution is 5 hours. In the first hour the number of users should be 100, next hour it should be 80, then it should be 200, the 4th hour it should be 500 and in the last hour it should be 300.
    So I thought to put that workload model over here to the reach of others also.
    Steps To create that workload model:-
    1. The very first step open JMeter GUI
    2. Add 5 Ultimate Thread Group under test plan
    3. Record each scenario actions as a child of respective Ultimate Thread Group
    4. Now assign the value inside the Threads Schedule box of Ultimate Thread Group as per the requirement
    5. Scenario-1 should execute for 5 hours by 10% of the user running for that particular hour
    6. Scenario-2 should execute for 5 hours by 25% of the user running for that particular hour
    7. Scenario-1 should execute for 5 hours by 30% of the user running for that particular hour
    8. Scenario-1 should execute for 5 hours by 5% of the user running for that particular hour
    9. Scenario-1 should execute for 5 hours by 30% of the user running for that particular hour
    There may be another way to create the same workload modal, Just put a comment if have any.
    JMeter and ANT Integration ERROR

    JMeter and ANT Integration ERROR

    Solution for ERRORS encountered while executing JMeter scripts from ANT

    In previous posts, I mentioned that how to integrate JMeter scripts with ANT. So that we will get a clear HTML report after execution. In this post, I am describing the solutions for the error which I faced while following the process of integration.


    1. Failed to process ..\bin\Test.jtl: -

      This error will come if there Test.jtl file having no content. To come out from this error just follow the below process and remember no need to create a empty Test.jtl file.
      when we execute the "ant" command from command prompt by default it will create a jtl file same name as jmx file.
    2. Test.jtl does not exist: -

      This error will come when we hit "ant" command from the command prompt to execute the JMeter script.
      Test.jtl does not exist

      The solution to overcome this error is, Need to uncomment some lines from the build.xml file. As shown in below snapshot

      solution for Test.jtl does not exist by editing the build.xml file

    JMETER Script Execution with ANT-2

    JMETER Script Execution with ANT-2

    JMeter Script Execution with ANT from ANT folder structure

    In Previous Post, we cover how to execute JMeter scripts with the help of ANT from JMeter folder structure. Now we will discuss how to execute JMeter scripts with the help of ANT from ANT folder structure.
    Software Requirement:-
    1. Java 1.6 and higher version
    2. Apache JMeter Latest version
    3. Apache Ant Latest version
    Below are the steps needs to follow to Execute JMeter script and generate HTML Report:-
    1. Download JAVA and install on your machine
    2. Set the environment variable
      Example:- JAVA_HOME= C:\Program Files\Java\jdk1.8.0_112
    3. Download Apache JMeter and UnZip
    4. Download Apache ANT and UnZip
    5. Open JMeter extra folder, path will be like
      D:\USER\apache-jmeter-3.2\extras
    6. Copy all the file present inside that folder
    7. Paste these files inside "\bin" folder of ANT, Path will be like
      D:\USER\apache-ant-1.10.1\bin
    8. Now search for build.xml file and open that in Notepad/Notepad++
    9. Set the JMeter home path in build.xml file, As shown in below snapshot
      JMeter Home path changes in the build.xml file
    10. Save the changes what you have done
    11. Through command prompt just open “\bin” folder of ANT
    12. Type ant and hit enter{before hitting ant command make sure Test.jmx file should present inside the "\bin" folder of Apache ANT, which we are going to execute now}
    13. You will see a “BUIL SUCCESSFUL” message
      Build Successful Message after JMeter script execution from ANT
    14. It will generate two files inside the "\bin" folder of Apache ANT:-
      • Test.jtl- File having result in XML format
      • Test.html- File having result in HTML format
    HTML Result after JMeter script execution from ANT
    JMETER Script Execution with ANT-1

    JMETER Script Execution with ANT-1

    JMeter Script Execution with ANT from JMeter folder structure

    JMETER and ANT both are open source. We can execute the JMeter scripts with the help of ANT which will generate a HTML report. We can send/show the HTML report after execution for verification/confirmation.There are two ways to execute the JMeter script ie.
    1. From JMeter folder structure
    2. From ANT Folder structure
    Here we will cover 1st approach (For 2nd approach just click on LINK).
    Software Requirement:-
    1. Java 1.6 and higher version
    2. Apache JMeter Latest version
    3. Apache Ant Latest version
    Below are the steps needs to follow to Execute JMeter script and generate HTML Report:-
    1. Download JAVA and install on your machine
    2. Set the environment variable
      Example:- JAVA_HOME= C:\Program Files\Java\jdk1.8.0_112
    3. Download Apache JMeter and UnZip
    4. Download Apache ANT and UnZip
    5. Set the path of ANT “/bin” folder
      Example:- PATH= G:\USER\apache-ant-1.10.1\bin
    6. Through command prompt just open “extra” folder of JMeter
      Example:- cd G:\USER\apache-jmeter-3.2\extras
    7. Type ant and hit enter{before hitting ant command make sure Test.jmx file should present inside the "\extra" folder of Apache JMeter, which we are going to execute now}
    8. You will see a “BUIL SUCCESSFUL” message
      ANT Build Successful Message
    9. It will generate two files inside the "\extra" folder of Apache JMeter:-
      • Test.jtl- File having result in XML format
      • Test.html- File having result in HTML format
    ANT HTML Result
    Note: - While following above process may be anyone will face some errors. I am posting the solution for these errors in my Next Post. These same errors I encountered while running the JMeter scripts from ANT.
    Stepping Thread Group (JMeter)

    Stepping Thread Group (JMeter)

    Stepping Thread Group

    As the name suggests in Stepping thread group we increase and decrease the user load step by step.
    with the help of Stepping thread group we can find out how much load application server can handle by providing different configuration
    Before going into more details let see how to add Stepping thread group:-
    1. Download "Custom Plugin"
    2. Extract the downloaded Zip file and paste:-
      1. "jmeter-plugins-cmn-jmeter-0.3" jar file inside the JMeter lib folder (E:\apache-jmeter-3.0\lib)
      2. "jmeter-plugins-casutg-2.1" and "jmeter-plugins-manager-0.11" jar file to ext folder present inside the lib folder (E:\apache-jmeter-3.0\lib\ext)
    3. Close the JMeter interface if open and open again by double clicking on the JMeter batch file present inside the JMeter bin folder
    4. Click on Option-->Plugins Manager
    5. Select Custom Thread Groups present inside Available Plugins

    6. Click On Apply Changes and Restart JMeter
    7. Now Right click on Test Plan
    8. Go Add --> Threads (Users) -->jp@gc - Stepping Thread Group
    9. Now Configuration of stepping thread group:-
      1. This group will start : [200] threads – Total no of users that we want to run the load test.
      2. First, wait for : [ 5 ] seconds – Delay after just click on the start button.
      3. Then start : [ 20 ] threads – After 5 second delay 20 thread/user with start to execute.
      4. Next, add : [ 10 ] threads every : [ 20 ] seconds using ramp up : [ 2 ] seconds – 10 thread will add after 20 second using ramp up of 2 second till the time all the thread ramped up.
      5. Then hold load for : [ 3600 ] seconds – The hold the total load [200] for 1 Hour.
      6. Finally stop : [ 10 ] threads every : [ 10 ] seconds – 10 thread will ramp down in every 10 second till all the threads will ramp down.
    In above configuration, Total 200 users are waiting for 5 seconds and then start 20 threads. Next add 10 threads in every 20 second –> every 2 second there will be 1 thread ramp up. Then the load will be in steady state for 3600 seconds. Finally stop 10 threads every 10 second till the total threads ramp down.
    Load Runner Script Development Framework

    Load Runner Script Development Framework

    Load Runner Script Development Framework

    In general, for any project, we develop scripts, create test data and execute the scripts. During the tight project schedules, we do not have time to create the data & synthetic data that we create might not match accurately with PROD Env so we have come up with innovative idea of fetching the data form the DB directly
    We query the test data from database and execute the scripts, using custom coding in Test scripts and were able to establish the database connection using Loadrunner functions -- lr_db_connect

    There are some scenarios where we think of having a single header file with all the reusable functions and this header file will be executed from the Load Runner script.  

    Advantage of having this common header file

    ü  Easy Maintenance of the scripts
    ü  Effective debugging at function level

    In addition to that, there will be cases where we need to execute tests in multiple test environments and these tests has to be triggered one after another. Given the minimal time gap between each test, the best way is to have them in one centralized location and call it from our script. In this way, we can make debugging easy and make changes at one place that will reflect in all the scripts.

    In any projects, if there are some actions common to all the scripts, this framework helps.  Having all the common actions in one header file avoids redundancy, duplication and facilitates in having a defined and structured script framework. This way we can also make the script easily understandable, reduces the chances of making mistakes and allows us to make modifications very quickly with less manual intervention.
    To understand the framework, here is a case where we have the commonly called actions in a header file and this header file will again interact with database to query for particular id, retrieve it and again call the function in the header file.  There will always be some actions, which will be script specific, and these are executed from the script itself.


                                                     Load Runner Script Frame work:



    If we see in the above flow chart, HomePage (), Login (), IDSearch (), Logout () are common for all the scripts.
    The ID Search will query the data from database and there is a column status to track the data whether it is reusable or unique. After querying the data, the status is modified accordingly.  This way we can track the data that is consumed in the test executions.
    After the ID is queried from the database, there are certain script specific requests that are kept in the script itself and in the end again calling logout , which is a common action, is called from the common header (CommonActions.h).