- Create a new Java project in IntelliJ IDEA by selecting "New Project" from the "File" menu.
- Once you have created the project, add the necessary libraries and dependencies for your project. These dependencies will include JUnit, TestNG or any other testing framework you wish to use.
- Create a new package in your project, and then create a new Java class within that package. This class will contain your test code.
- Import the necessary classes and packages you will need for your tests. These will include the testing framework you are using, as well as any other classes or packages that are required for your tests.
- Write your test code within the new class you have created. This code will include the test methods you want to run and any assertions you need to make.
- To run your tests, right-click on the class or test method you want to run, and select "Run" from the context menu.
- If your tests pass, congratulations! If your tests fail, you will need to investigate the reason for the failure and modify your code accordingly.
- Once you have completed your tests, you can package and deploy your application.
Friday, March 31, 2023
Writing Test Automation using IntelliJ
Wednesday, December 21, 2022
20 Software Testing Considerations
Before going into details of Software Testing Consideration. Let's understand what is Consideration?
- It is a careful thought, i.e. the act of thinking carefully about something you will make a decision about.
Following are the list of 20 ways to achieve Software Testing Consideration (all of these may not be applicable in each testing scenario. However, this is an exhaustive list which can be used to choose what would be relevant in certain scenarios):
1) Create Realistic Test Cases
Assessing how a software application will respond in a real-world scenario is essential to ensure the success of performance testing. Thus, creating realistic tests that keep variability in mind and taking into consideration the variety of devices and client environments to access the system is essential. Also important is mixing up device and client environment load, varying the environment and data, and ensuring that load simulations do not start from zero.
2) Proofread the content and Peer Review
Your content should be consistent, grammatically correct, and error-free. Don’t forget to check headings, labels, email notifications, and alerts.
3) Test using the most popular web browser/browsers
If you're developing a web application, your system should look and function the same regardless of the web browser you use. We test ours on the latest versions of Edge, Internet Explorer, Firefox, Chrome, and Safari.
4) Test it using the most popular devices
If your system will be used on mobile devices, you should test styling and functionality on a variety of screen sizes. We test on an iPad, iPhone, Android Nexus 7 tablet, and a subset of Android smartphones.
5) Validate all links
Each button and link should perform as expected—whether that’s an action within the system or an external link.
6) Review visuals
Fonts should follow a consistent style, and the graphics used throughout the system should align with your brand standards.
7) Verify site security
Validate each page is secure with HTTPS over SSL for general data security. We also recommend testing data access at the account level to make sure only accounts with appropriate access can see the data.
8) Validate forms
If your system has forms, make sure you can fill them out and that the submit buttons work. Double-check field validation and that form data is collected and stored according to requirements. You’ll also want to make sure users are directed to the right place upon submission.
9) Validate email notifications are sent as expected
This line item is two-fold. First, ensure the appropriate people at your organization receive notifications when users take action in the system. Second, ensure the email notifications sent to users are clear and are triggered at the appropriate times.
10) Validate business logic
Run scenarios in the system to verify the output is what you’d expect as an expert in your organization.
11) Role play
Every system is different. For the best results, if you aren’t really a user of the system (maybe it’s your clients who will ultimately use it), put yourself in the mindset of a true end user and attempt to accomplish common tasks as well as edge cases that may not have been communicated to the developer.
12) Test Early And Test Often
Leaving performance testing as an afterthought is a recipe for testing disaster. Instead of conducting Performance testing late in the development cycle, it should take the agile approach and be iterative throughout the development cycle. This way the performance gaps can be identified faster and earlier in the development cycle.
13) Focus On Users Not Just Servers
Since it is real people that use software applications, it is essential to focus on the users while conducting performance testing along with focusing on the results of servers and clusters running the software. Along with measuring the performance metrics of clustered servers, testing teams should also focus on user interface timings and per-user experience of performance.
14) Performance is Relative
Performance might mean something to you and something else to the user. Users are not sitting with a stopwatch to measure load time. What the users want is to get useful data fast and for this, it is essential to include the client processing time when measuring load times.
15) Correlating Testing Strategy With Performance Bottlenecks
In order to be effective in performance testing creating a robust testing environment and gaining an understanding of the users perspective of performance is essential. It is also essential to correlate performance bottlenecks with the code that is creating these problems. Unless this is done problem remediation is difficult.
16) Quantifying Performance Metrics
In order to assess the efficacy of the performance tests, testing teams need to define the right metrics to measure. While performance testing, teams should thus clearly identify:
The expected response time – Total time taken to send a request and get a response.
The average latency time.
The average load time.
The longest time taken to fulfill a request.
Estimated error rates.
The measure of active users at a single given point in time.
Estimated number of requests that should be handled per second.
CPU and memory utilization required to process a request.
17) Test individual units separately and together
Considering that applications involve multiple systems such as servers, databases, and services, it is essential to test these units individually and together with varying loads. This will ensure that performance of the application remains unaffected with varying volumes. This also exposes weak links and helps testing teams identify which systems adversely affect the others and into which systems should be further isolated for performance testing.
18) Define the Testing Environment
Doing a comprehensive requirement study, analyzing testing goals and defining the test objectives play a big role in defining the test environment. Along with this, testing teams should also take into consideration logical and physical production architecture, must identify the software, hardware, and network considerations, and compare the test and production environment when defining the testing environment needed.
19) Focus on Test Reports
Test design and test execution are essential components of good performance testing but to understand which tests have been effective, which need to be reprioritized and which ones need to be executed again testing teams must focus on test reports. These reports should be systematically consolidated and analyzed and the test results should be shared, to communicate the results of the application behavior to all the invested stakeholders.
20) Monitoring and Alerts
To ensure continuous peak performance, testing teams have to set up alert notifications that can intimate the right stakeholders if load times fall below normal or in the event of any other issue. This ensures proactive resolution of performance bottlenecks and guarantees good end user experience.
Wednesday, August 17, 2022
The Three Amigos
The 3 Amigos is a method where Dev, BA and QA Come Together!
Did you know?
Amigos is a word mainly used in Spanish speaking areas and is used to address or refer to a Friend. So is the friendly concept of The 3 Amigos in Agile with multiple benefits!
Three amigos refers to the primary perspectives to examine an increment of work before, during, and after development. Those perspectives are:
- Business Analyst – What problem are we trying to solve?
The Business Analyst makes sure that everyone in the team has the same understanding and expectation from the User Stories. - Developer – How might we build a solution to solve that problem?
The developers discuss their understanding of the requirements and what it takes to build the Increment.
Since the health of the software is always measured by its high-quality standards, the quality assurance team elaborates on the functional and non-functional aspects of the software increment and details out the test cases identified to test the Increment. - Test Analyst/Quality Analyst/Software Tester – What about this, what could possibly happen
The Test and other team members help in enriching the test cases by finding edge cases and missing scenarios. They also make sure that all the Acceptance Criteria are met by the test cases.
By sharing the different perspectives on a project, the Three Amigos can raise their own concerns and discuss answers in real time.
There are many ways to organize these meetings, and sometimes more than three people participate. The more perspectives in the meeting, the more gaps the organization can fill.
The 3 Amigos helps communication between the disciplines and promotes understanding of:
- Collaborative Requirements – What problem are we trying to solve
- Ready for Development Consensus – How might we build a solution to solve that problem
- Acceptance for Definition of Done – What is needed to get the story into “Done”
Failure to conduct the Three Amigos meeting in Agile could cause each team member to have mixed or different perceptions of the project at hand. This is why the business analyst, developer and QA must collaborate and examine the product development through the lens of what’s important to their customers and business.
Benefits of Three Amigo’s Approach
The 3 Amigos’ Strategy can have a massive impact on the effectiveness both individually and as a team, and on the quality and maintainability of your Scrum projects, increasing your team’s agility, adaptability and innovation. Embedding such strategy into your agile process leads to continuous improvement and embracing the most important values and principles of the Agile Manifesto and likely yields the following benefits.
- Sharing and building an understanding of the SDLC
- Collaboration in sprint meetings and sprint reviews
- Identifies confusion and misunderstandings early, allowing for faster delivery
- Ensures developers, as a team, discuss the increment of work needed
- Helps go over the acceptance criteria and other attributes
Featured Posts
-
Top Performance Testing Tools Load Ninja Apache JMeter Web LOAD LoadUI Pro Load View NeoLoad LoadRunner Silk Performer AppLoader SmartMeter....
-
What is CI/CD? Continuous integration (CI) and continuous delivery (CD) is collection of practices that enable application development teams...
-
Extent Report: Extent Reports are the most popular reporting used with Selenium. As we all know, TestNG generates html reports by defaul...
-
IntelliJ IDEA is an integrated development environment (IDE) for Java, which provides features to write and run tests for Java applications....
-
Zephyr is an extension for JIRA. It is a native application that exists in JIRA and brings quality test management capabilities to any JIRA ...
-
The BlazeMeter Chrome Extension: The BlazeMeter chrome extension is a free tool that enables you to Record, Browse, Upload, and Run your tes...