Software Testing

Update & Share tips on Testing, Develoment, Design & Other New Tech Trends

Post Top Ad

Post Top Ad

Wednesday, November 14, 2018

November 14, 2018

2 Easy Ways to Show Percent Complete in Agile Method



1. Plain old Metrics


The above is pretty easy to understand, but the percent complete field comes from the total number of story points in a given feature (the pure sum of the points belonging to stories within a feature) and the number of points for features that have had all stories complete.

There is your number, viola. Is it accurate? As long as nothing is added to the feature, sure I guess it is as accurate as anything can be given context. The better question might be “is it wrong or misleading” and the answer would be “depends, but you are not lying or misrepresenting what you are being asked for.” If I ask you to poke me in the eye, you might do a really good job at it and blind me, but does that mean you completed a valid task? Depends on who you ask, their mental state, their goal, and a number of things but overall – yeah, you did. Thanks a lot.

2. Colors…


People like colors. With this method you get not only more detail but what might be a more accurate (or complete) view of what is complete. Your “not started” line will look smaller, but that is not a function of misrepresentation, only of the technique. “In Progress” might mean it just started or that it is almost done, but it is just a tool.

Something besides Excel would be better than this, as the legend states (may a .mpp format although your PMPs might freak) because your Story Points could be numbered left to right with a degree of accuracy that I cannot provide at the moment. Again, the goal is the same. You get the block which represents features but the WIP (Work In Progress) exists as something real and tangible. For the overall Epic, you could, in theory, have a giant list of these that together spelled out the whole shebang and I do expect this may only serve to elicit “so, how close are we?” at which point you can either stare like a gopher who just popped his head out of his hole or be almost as cool as a quick draw cowboy and whip out the first diagram.

Friday, November 9, 2018

November 09, 2018

Why PRODUCT ROADMAP is so IMPORTANT in AGILE DEVELOPMENT?

What is product roadmap in agile development?

In order to achieve a goal, you should always work with a plan. A product roadmap is an outstanding action plan which construes how the product is expected to evolve over time. It allows you to express where you want to take your product, and why it is worthwhile investing in it. Moreover, an agile product roadmap expedites the learning curve and adopts reforms. A goal-oriented roadmap focuses on project objectives, business goals, and outcomes like customer acquisitions, augmenting engagement. In simple terms, a product roadmap initiates the emergence and development of a product or solution to a project.



 Technology is rapidly changing which means new and unexpected markets will open up. With upcoming markets, business will boom or suddenly drop, and all of these changes will affect what you are able to build both in the short- and long-term. In addition, you cannot exactly know what you are going to build ahead of time, however, you can plan for how to respond those changes in order to keep on track with your innovative vision. Product roadmap encourages the project team to work together to achieve long-term goals for successful project delivery in agile development. For this reason, a few agile teams tend to share a unanimous product roadmap. A roadmap is not a plan that you develop once and adheres forever. The plan remains agile which means brainstorming, prioritizing ideas, discussing and adjusting your process roadmap is needed when the environment changes.

Reasons why product roadmap is needed in agile development?

Make adjustments during long-term plans



For example, like airplane instruments, a good roadmap will tell you if you have reached cruise altitude or if the product’s engagement needs to boost. In order to do so, you should compare your current metrics with the ones you have previously defined with your team when building the roadmap. Base on what you have found, your team can refine the features, sprint’s goals, make decisions based on data or, at least, realize sometime in advance that some desired outcome is not going to be achieved, enabling you to activate your plan B. Otherwise your team is just working sprint after sprint with no acknowledgment about the impact of its work on the business.

Roadmap connects pieces into a big picture



It is much more motivating to know what your team is going to deliver as a whole. This is where the real meaning of work takes place, instead of just delivering tasks that were assigned to you through your team’s board. Moreover, the roadmap should be accessible and visible on a daily basis, so everyone can take a look at it every day and feel the importance of their hard work.

Clarifies priorities and improve setting


Another important skill that a product team should know is the ability to reject. Because users are going to make requests, stakeholders are going to have opinions and even the CEO of the company may issue some special feature requests. However, if you are going to satisfy all of them, you will not do any good for anyone. In order to refuse requests that are not related, you should have a clear vision about what you are doing.

Product roadmap motivates the team



There are a lot of technical issues and things that go wrong when delivering a feature. As a consequence, the motivation to work and overcome will decrease. To avoid these problems you should have a clear vision of what is going on and the importance of it.

The clear vision for stakeholders


The product roadmap will help you to avoid as many meetings as possible. Nowadays, we are working in an agile environment and we do not have to report the status of the task to stakeholders. However, your product is a part of a bigger company strategy. Thus, goals and progress towards it must be accessible for everyone in a company. Moreover, if things will not go as expected, you can adjust it. Finally, it creates a sense of collaboration with everyone involved.

Monday, November 5, 2018

November 05, 2018

Difference between Quality Assurance and Software Testing



What is Quality Assurance (QA)? What is Testing? 


These are common questions for those who first go into the software development industry. It is particularly important for software managers to know the differences between these two terms as they could help in risk management during the software development process. Below is the definition of each term:

  • Quality Assurance includes activities to ensure the quality in the software development or maintenance process in order to ensure the software will fulfill its ultimate objectives.
  • Testing includes activities of executing a system in order to find bugs/errors/defects in the software.


A clear diagram illustrating the difference between quality assurance and testing | Source:





Basically, there are 6 stages in the software development process: Planning → Analysis → Design → Development & Implementation → Testing → Maintenance. The software testing stage is considered the most important one in the process. QA Leader and Test Leader are the key members of the team, who have the clearest understanding of process and methodology. QA Leader is considered the captain of the ship. Meanwhile, Test Leader is QA Leader’s right hand who has a clear understanding of not only the software development process but the customer’s requirements as well.

It’s is absolutely crucial for the QA Leader to have a deep understanding of the testing process, data management, trouble reporting, and resolution and ensure the software will be given to the customers with high quality, on schedule and satisfying their expectations. He/She will be responsible for:
  • Defining quality metrics.
  • Defining testing strategies.
  • Deciding the test budget and planning the entire testing process.
  • Identifying the testing activities for other team members like testers or test engineers.
  • Checking the availability of the resources to execute testing activities.
  • Managing Risks.
  • Reporting to the project manager.
The Test Leader is responsible for organizing and examining the testing process to ensure the high quality for the software. Those are their tasks:
  • Defining the scope of testing
  • Staying updated about the latest test approaches and tools.
  • Validating the quality of the testing requirements such as testability, test design, and script, test automation, etc.
  • Implementing the test process.
  • Writing summary reports on test status.

Conclusion

A number of people are still confused about the difference between quality assurance and testing. In fact, they are closely related but have some considerable differences that I have mentioned in this blog. However, they are both absolutely necessary in the software development as they ensure the final high-quality product will be delivered to the customers.

Thursday, November 1, 2018

November 01, 2018

Why Software Testing plays important role in software development?

We all make mistakes, some of those mistakes are unimportant, but some of them are expensive or dangerous. We need to check everything and anything we create as things can always go wrong – humans make mistakes all the time. That’s why, software testing is an indispensable part in any project.

What is Software Testing?

What is software testing?


Software testing is the process of executing a program or application for the purpose of finding software defects. In other words, it is the process of validating and verifying that a software program, application or product is functioning properly, or meets the customer’s business, technical, design and development requirements or not.

Read more:



Why software testing is important in software development?


Since we assume that our work can be wrong, so all we need to do is test our work. However, some mistakes come from bad assumptions and blind spots, so we can make the same mistakes when we examine our work, as we do and have done. it. So, we can not see the mistakes in the process.

Ideally, we will pick up someone else to test our own work. Because they are likely to be more likely to spot our mistakes.

There are a number of obvious reasons for us as to why software testing is important and the main things that we should consider when examining any product or application.

So, why is software testing important? Some of the reason are listed below:


  • Software testing is really necessary as it points out the defects and errors that have been made in the development phase.
  • It is important because it ensures the reliability of the customers and their satisfaction in the application.
  • It is very important as it ensures the quality of the product. Quality products delivered to customers help in gaining their confidence. (Know more about software quality)
  • Testing is necessary as it provides facilities to customers such as delivering high quality products or software applications that require lower maintenance costs and thus results into more accurate results, appropriate and reliable.\
  • Testing is required for an effective operation of the software application or product.
  • It is important to make sure that the application does not have any failed results, because it can be very expensive in the future or in the later stages of development.
  • That is the essential requirement to help the product survive in business.


What are the main goals and objectives of software testing?

  • Software testing has different goals and objectives. But its main goal is:
  • Find defects that can be created by programmers when developing software.
  • Gain confidence and provide information on quality level.
  • To prevent defects.
  • To ensure that the final results meet the business requirements and users.
  • To gain the credibility of the customer by offering them a quality product.

Software testing will help to complete the software or product applications versus business requirements and users. It is very important to be able to guarantee to test the software application completely and make it sure that it works well and according to the specifications

Wednesday, October 24, 2018

October 24, 2018

TOP 5 Manual testing interview questions with answers you SHOULD KNOW

Manual testing interview questions are the questions that you may encounter when applying for a developer job. In this post, we will cover some popular manual testing interview questions as well as the best answer to these questions.

tester interview, tester career, top manual tester question
Top 5 manual testing interview questions and answer


1, During testing, you find a bug and assigned it to developer. But developer rejects the bug saying that it is not a defect. How you will handle this situation? (one of the most challenging manual testing interview questions)

First of all bugs should be logged with proper reproducible steps, screenshots etc…
If developer rejects the bug, we should first look out for the reason or justification on why the bug was rejected. If the justification is valid I would agree for the rejection. On the contrary, I will go back and try to reproduce the bug with the steps I had provided earlier. If it is still reproducible, I shall reopen the bug with valid comments and will provide additional information (if I found any). Then I would go back to the developer asking for justification on the rejection. At this point I shall include BA and technical lead also is to take confirmation on the defects

2, What is your approach in case there is not enough time for test execution?

In that case, my first focus will be on the priority of the requirements and the functionality would be the first tested, followed by the areas where the probability of finding defects is high. I would also analyze by test cases and execute the high priority test cases first followed by medium and low if time permits. If I know the application well and have previous experience about it, then exploratory testing is a good approach when there is limited time left. All these should be approved by the Test Manager and documented in the test strategy. 

3, What is exit criteria of testing? / When to stop testing? (This manual testing interview question is the easiest question to answer out of the 5 covered in this post)

It is almost impossible to make sure that an application is completely defect-free. At some point the testing should be stopped and we have to give a sign off so that the application can be released. The exit criteria of testing will be mentioned in the Test Plan before testing itself. We consider a lot of criteria to decide when to stop the testing. All the defects have been addressed and closed, all the test cases have been executed, traceability metrics is done (which means test cases have been executed for each of the requirements). Some factors should be considered for stopping the testing.

4, Have you written any test plan? What are the contents of test plan?

(Yes I have been involved in writing test plan). Test plan will contain the scope and all the activities of testing. The main contents of test plan is the scope, approach, resources and testing schedule. In testing scope we will say the testable and non-testable functionalities. In testing approach we would mainly mention the testing environments, different kinds of testing, testing cycles, the test cases which will be executed, testing data and scripts.…It will also say the test entry and exit criteria. Which means when testing will be started and stopped. The roles and responsibilities of each resources would be mentioned and testing schedule and timelines are also mentioned in the test plan. In addition any risk/assumptions and dependencies are also mentioned in the test plan. 

5, Have you done any reviews for QA deliverables?

(Yes, I have reviewed QA deliverables mainly test plan and test cases). QA checklist is maintained for each of the deliverables and the reviews will happen against the checklist. First of all, I do a self-review for all the deliverables that I prepare. Then I would give it to my team member for peer review and vice versa. Before the review, walkthrough of the document is done for better readability. All the test cases and test data is inserted, risk and dependencies are described etc… During reviewing test cases I will first check the requirement traceability, which means for each requirements if the test cases are available. Next my focus will be on test coverage. I will check of all the scenarios have been covered etc…

Above are some of the most popular manual testing interview questions and some of the best ways to answer.  

Thursday, September 27, 2018

September 27, 2018

What is ISTQB and its benefits?

The demand for testing in the quality assurance industry is on the rise nowadays. According to the World Quality Report 2015-16, the budget for quality assurance is going to reach 40% of the IT budget in 2018, so you can understand why many people are finding their way into this promising field. One of the ways is to obtain a manual testing certificate.

These certificates provide proof that someone has somewhat knowledge and skills in software testing. Right now, one of the most popular testing certification in the world is ISTQB.

ISTQB stand for International Software Testing Qualifications Board - a non-profit organization issue thousands of internationally recognized certifications over more than 70 countries. That why, In this article I will focus only on it.

OSTQB. testing, tester,
ISTQB and ITS BENEFITS


Type Of ISTQB

Foundation level certification

The only criteria are to have 6 months experience in the testing position. This level demonstrates the understanding of the basic concepts of software testing. Anyone can take it, even if you have nothing to do with the IT industry.

The syllabus covers six main topics:

  • fundamentals of testing
  • testing in the software lifecycle
  • static techniques like reviews
  • behavioral (black-box)
  • structural (white-box)
  • test design; test management and testing tools.


Advanced level certification

This level is designed for at least 5 years practical experience in the testing role. The syllabus is divided into three main areas:

  • advanced behavioral or black box testing and testing standards for business-oriented testers
  • test automation and advanced structural or white box testing for technically-oriented testers and programmers
  • sophisticated test management concepts for managers.

Expert level certification

Design for those who have at least 8 years experience as a tester.

Now you have understood its structure, I want to go deeper into why you should get an ISTQB certification. Below is some reason:

As I have mentioned above, testing certification helps the new start in the Software QA world. Most employers will consider a good certificate as an important criterion in the resume. To obtain one is a plus point in your resume and make you stand out compared to other competitors. When you prepare for the test, you don’t have to take any expensive course. You can self-study, hire a trainer or use ASTQB-accredited education, whatever works best for your finance.

The advantages of ISTQB certfication


It also helps tremendously with professionals who have years of experience. ISTQB Certification helps you gain knowledge about the standard testing definitions and updated technology, so you can have more opportunities to enter a new market. But the most fundamental benefit is to help skilled tester reduce defects.

For software development companies, these certificate help reduce cost and offer greater efficiency and speed, and higher software quality since it’ll be able to reach to knowledgeable and skilled employees. Your companies can also qualify lower tech insurance costs if you hiring ISTQB certified employees.

However, I hope you understand a manual testing certification like ISTQB can’t be enough if you are looking for growth in this technology world. It can be a great extra to your profile but if you want to get somewhere, you must keep learning new things and keep up with all new innovation.

Wednesday, September 12, 2018

September 12, 2018

How to Become a Software Tester?

Software testing plays a critical role in the quality and usability of the final product. Testing at times is a demanding position on the rise. If you are one of those who wants to have a foot in, then you have come to the right place. This post will give you an insight on how to become a software tester.

What is a software tester?

They are the quality assurance experts who root out bugs and save end user from poor performance and highly buggy software or application. They are a part of what builds a good company image for decreasing support calls from frustrated customers.

software tester, testing software,
How to become a software tester

How can you become a software tester?

1. Education Background and Training

Many employers look for candidates with a bachelor’s degree in computer science, software engineering or related to math field, although that’s not always the case. There are still people getting into this job without a college degree. If you do not hold any of these degrees, then you can complete a software testing certification like:

  • International Software Testing Qualifications Board (ISTQB) - This is one of the most the popular software certificate in the world - an excellent investment that makes your resume stand out.
  • Rapid Software Testing (RST) - a methodology focus on testing software.


It is not mandatory, but most of the companies have this criterion. Having this will give off an excellent impression and ensure a better chance to land the job. A newbie can also find internship programs to give you a good experience. Maybe you will have to work for free but try your best in this position because a letter of recommendation and influence reference is going to help you wonder.

You need to have a solid background in this field in other to excel in this. Most people work in the tech industry must have self-learning skill, a strong passion and a mind of curiosity. There are many open resources for tester out there for you to explore. Try reading good books, blogs or articles about software testing,  working on various tools, keeping up with the latest trends.

2. Find a job.

According to the World Quality Report 2015-16, the budget for quality assurance expert in tech companies is going to reach 40% in 2018. This has indicated that software testers have become promising jobs at the time. If you want to become a software tester, then you should prepare as soon as possible, not just about knowledge but also about your non-technical skills like critical thinking, analytics, communication, etc.  

You should start spending time browsing jobs sites like Linkedin, Indeed, and Dice. Make sure to have a well-written, scannable resume, and you’ll better consider composing a cover letter before sending out applications. Practice mock interviews. Take the feedback and fix the issues after mock interviews.

Here a small tip: if you are finding the job when having little experience than your attitude is what difference you from other candidates. Don't worry too much since you are a newbie in this field employers won't expect you to know complex ideas.

Testing can be an exciting area since it doesn’t focus on just one particular technology. But, in the end, what matters the most is the pure passion that will lead you to success if you truly want to become a software tester.

Wednesday, February 21, 2018

February 21, 2018

What You Actually Need to Know About Software Developer

What You Actually Need to Know About Software Developer: What does a software developer do? How much they make and what make them different from software engineers? This article will give these answers.

what do software developers do




Becoming a software developer is not easy. Any student before choosing this profession would have thought so.

More than just theories, or programming thinking is programming. For the software developer sector, you will need a lot of knowledge, skills, good programming background. More practice is equally important.

To be able to explain all of this vast array of knowledge, I would like to share this article with you. The article is a collection of topics about software developers. It helps you understand the daily work of a programmer, it also provides you with the relative salaries they receive depending on the region, experience and country.

The Savvycom article also offers some confusing concepts, and helps you distinguish them. For example, do you know why software developers vs engineers are different?

To solve all the questions in your heart, take a moment to read the article below. And then discuss it later. What You Actually Need to Know About Software Developer