I'm interested in using AI tools such as ChatGPT to assist in software testing tasks such as writing test cases and creating test data, perhaps driven by acceptance criteria. Does anyone have experience with this?
Hi Steve, ChatGPT can help in several ways from writing a Test Strategy to coding automated Selenium test cases. The most important thing is to provide a good context of what you need. You can ask "What do you need for..." and ChatGPT will guide you to provide the right context. The path to reach a good result is to iterate until you be satisfied with the work obtained. Good luck.
We’re launching an annual User’s Choice Award to showcase the most popular B2B enterprise technology products and we want your vote!
If there’s a technology solution that’s really impressed you, here’s an opportunity to recognize that. It’s easy: go to the PeerSpot voting site, complete the brief voter registration form, review the list of nominees and vote. Get your colleagues to vote, too!
This is a good question.
Ideally, if you can find a person that is very well experienced in the Industry/product domain and is experienced automating it yields better results. For example, a tester who has a lot of experience with SAP will be much more successful testing SAP than someone who is an excellent/experienced tester without much SAP experience.
There are a variety of causes for software failures but the most common are:
The other posts covered a number of very relevant topics. I would like to focus on some testing issues:
1 - Speed of test evolution in relation to software delivery can be supplied with test automation.
2 - Automating tests without a clear definition of coverage often generate skewed tests based on masses of test data that do not cover 100% of the possible business flows.
3 - Competition or unavailability of computing resources and environments.
4 - Lack of an understanding of how to implement CI/CD, with QA because of the first 3 items I mentioned.
What we have been doing is investing time and money in solutions that speed up the process of understanding and connect the needs to availability in an automated way based on Service Virtualization, creation of Hitters and Data Injectors and Automated Generation of Data for Tests.
This way you can isolate internal and external dependencies, provide the data to run a pipeline in an automated way and collect results in a detailed way.
There are solutions on the market such as Curiosity Software where all the criteria and conditions to maintain the quality of the Software are integrated.
There is a company called Better Now (from Brazil) that has a solution based on Data Life Cycle that maintains the traceability and monitoring of application behavior in the correct distribution of data in an end-to-end model, capturing problems in real-time and the virtualization of the services collaborates quickly and efficiently with concurrency issues and API's availability.
A good suggestion is Micro Focus, ParaSoft (among other market solutions).
The software development process is usually affected by many risk factors that may cause the loss of control and failure, thus which need to be identified and mitigated by project managers.
Software development companies are currently improving their process by adopting internationally accepted practices, with the aim of avoiding risks and demonstrating the quality of their work.
This paper aims to develop a method to identify which risk factors are more influential in determining project outcome. This method must also propose a cost-effective investment of project resources to improve the probability of project success. To achieve these aims, we use the probability of success relative to cost to calculate the efficiency of the probable project outcome. The definition of efficiency used in this paper was proposed by researchers in the field of education.
We then use this efficiency as the fitness function in an optimization technique based on genetic algorithms. This method maximizes the success probability output of a prediction model relative to cost. The optimization method was tested with several software risk prediction models that have been developed based on the literature and using data from a survey that collected information from inhouse and outsourced software development projects in the Chilean software industry. These models predict the probability of success of a project based on the activities undertaken by the project manager and development team.
The results show that the proposed method is very useful to identify those activities needing greater allocation of resources, and which of these will have a higher impact on the projects success probability. Therefore using the measure of efficiency has allowed a modular approach to identify those activities in software development on which to focus the project’s limited resources to improve its probability of success.
Common causes for software failure are:
What can be done to reduce the chances of software failing?
and use these within test cases
as the basis for test case creations
and link new requirements to this process and its risk.
Preferable recheck/rework the risk weighting for the individual requirements.
Use this for test planning resp. prioritizing in test case creation and execution as well then in test reporting.
Cover identified gaps between developments and test coverage with additional test cases.