Concepts

Testing is one of the most crucial elements in Scrum. As part of the A-CSD exam, understanding proper testing methodologies and how to categorize them is vital. In this post, we will explore a simple yet effective method for categorizing them – Manual and Automated testing.

Manual Testing vs Automated Testing

Manual Testing:

Manual testing is a form of testing where test cases are performed manually without any tool’s aid. Manual testing is sometimes considered old-school, however, it is still relevant and plays an indispensable role in many software development projects.

  • Exploratory Testing: This type of testing is all about discovery, investigation, and learning. Here, software testers, due to their knowledge, experience, analytical/logical skills, creativity, and intuition, are able to start testing without exhaustive test cases.
  • Ad-hoc Testing: This form of manual testing doesn’t rely on pre-defined or detailed procedures. In ad-hoc testing, testers usually have a broad understanding of the system and randomly test the application.
  • Usability Testing: This testing method identifies any usability issues with the system. It focuses on the user’s ease of using the application and the ability to complete the desired tasks.

Automated Testing:

Automated testing, or Test Automation, involves the use of tools and scripts to automate the testing processes like regression testing, load testing, etc. Automated testing is increasingly popular due to its efficiency, reliability, and speed for different tasks.

  • Unit Testing: In unit testing, the smallest testable part of a software system, called a unit, is tested. The primary purpose is to validate each unit functions as designed. Developers often use frameworks like Junit, TestNG to write unit tests.
  • Integration Testing: This testing method gets its name because it involves integrating individual units of a software system and testing them as a group. The primary goal here is to expose faults in the interaction between these integrated units.
  • Load Testing: Load testing is performed to determine how a system behaves under a specific load. This is incredibly valuable in identifying the system’s breaking point and its maximum operating capacity.

Both manual and automated testing have their strengths and weaknesses. For example, automated testing can increase speed and accuracy, but it requires a significant investment of resources and time to set up, making it less agile. On the other hand, Manual testing can reduce initial costs, but it might be more susceptible to errors and slower.

To make our testing efforts more effective, we need to understand when to use manual or automated testing. Combining the strengths of both methods may result in a well-rounded testing activity, which ensures your product has been tested accurately and appropriately before release.

In the A-CSD exam, demonstrating your comprehensive understanding of these testing categorizations and methods, and your ability to judge the appropriate contexts to use them, can greatly enhance your success. Continual learning and pushing your understanding is at the heart of the Scrum philosophy, especially when it comes to software testing.

Answer the Questions in Comment Section

True or False: In the Scrum framework, testing only takes place after the entire product is developed.

  • True
  • False

Answer: False

Explanation: In Scrum, testing is a continuous process and it happens throughout the product development lifecycle.

Multiple Select: Which of the following testing methods fit under the category of functional testing?

  • a) Unit testing
  • b) Integration testing
  • c) System testing
  • d) Acceptance testing

Answer: a) Unit testing, b) Integration testing, c) System testing, d) Acceptance testing

Explanation: All these testing methods are used to check the functionality or behavior of the software, hence they fit under the category of functional testing.

True or False: System testing is a component of the non-functional testing category.

  • True
  • False

Answer: False

Explanation: System testing belongs to the functional testing category because it is used to test the complete system or product.

Single Select: Which testing method fits under the category of end-to-end testing?

  • a) Unit testing
  • b) System testing
  • c) Regression testing
  • d) User Acceptance testing

Answer: d) User Acceptance testing

Explanation: User Acceptance testing involves testing the system end to end from the user’s perspective, hence it is considered end-to-end testing.

True or False: Regression testing is a category of testing.

  • True
  • False

Answer: False

Explanation: Regression testing is a type of software testing and not a category in itself. It belongs to the category of Functional testing.

Multiple Select: Usability testing is a part of:

  • a) Functional testing
  • b) Non-functional testing
  • c) End-to-end testing
  • d) Compatibility testing

Answer: b) Non-functional testing

Explanation: Usability testing is a type of Non-functional testing that deals with the usability aspect of the software.

Single Select: Which category of testing does performance testing belong to?

  • a) Compatibility
  • b) Security
  • c) Functional
  • d) Non-functional

Answer: d) Non-functional

Explanation: Performance testing belongs to the category of Non-functional testing as it focuses on checking the performance parameters of the system such as speed, stability, and responsiveness.

True or False: Security testing falls under the Non-functional testing category.

  • True
  • False

Answer: True

Explanation: Security testing involves testing a system for vulnerabilities and risks which is a part of Non-functional testing.

Single Select: Which is not a testing method that falls underneath the functional testing category?

  • a) Load testing
  • b) Integration testing
  • c) Regression testing
  • d) Unit testing

Answer: a) Load testing

Explanation: Load testing is a part of Non-functional testing, which checks the system’s behavior under simultaneous users and tests.

Multiple Select: Acceptance testing belongs to which categories?

  • a) Functional
  • b) End-to-end testing
  • c) Usability
  • d) Performance

Answer: a) Functional, b) End-to-end testing

Explanation: Acceptance testing checks whether the system met the required specifications and user requirements, making it part of functional and end-to-end testing.

True or False: Each testing category has a unique and distinct goal that it aims to achieve.

  • True
  • False

Answer: True

Explanation: Different testing categories serve different purposes such as checking functionality, performance, security, etc.

Single Select: What type of testing method is load testing?

  • a) Functional
  • b) Non-functional
  • c) End-to-end
  • d) Performance

Answer: b) Non-functional

Explanation: Load testing is a type of Non-functional testing since it checks the application’s performance under a load or stress conditions.

0 0 votes
Article Rating
Subscribe
Notify of
guest
26 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Connor Pierce
8 months ago

Great post! I found the concept of categorizing testing methods very insightful for my A-CSD preparation.

Girish Kini
8 months ago

Can anyone explain the difference between unit testing and integration testing in a Scrum environment?

Clara Brar
8 months ago

Thanks for the post!

ایلیا نكو نظر

I think categorizing tests into functional and non-functional is a good start. What are the specific methods that fall under each category?

Leah Hughes
8 months ago

Appreciate the detailed explanation!

Vivek Vernekar
8 months ago

I’m confused about where acceptance testing fits in. Is it functional or non-functional?

Çetin Ertepınar
9 months ago

Very informative. Thanks for sharing!

Eliott Leroux
6 months ago

In my experience, categorizing testing methods by their level of abstraction also works well. What do you think?

26
0
Would love your thoughts, please comment.x
()
x