价格价格,价格范围
可以使用精准测试了。问问精准测试怎么做?
你说的没错的。就是这么个情况。
谁能给我用一个例子证明,自动化落地和必须与业务强关联这个有必然的因果关系?什么样的业务如果在人员能力,时间,成本没有任何约束的情况下不能做自动化?
# For the first scenario, the error javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) indicates that there might be an issue with the SSL/TLS protocol or cipher suites being used. You can try specifying the SSL context and enabling specific protocols and cipher suites. Here's an example of how you can modify your code to specify the SSL context with specific protocols and cipher suites:
# Add the following code snippet to your TCPSample code where you create the SSL socket:
# This example enables TLSv1.2 and specifies some common cipher suites, you can adjust them based on your requirements.
# Make sure to import necessary classes:
# import javax.net.ssl.SSLContext;
# import javax.net.ssl.SSLSocketFactory;
# import javax.net.ssl.SSLSocket;
SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
sslContext.init(null, null, null);
SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
SSLSocket sslSocket = (SSLSocket) sslSocketFactory.createSocket("{{host}}", {{port}});
sslSocket.setEnabledProtocols(new String[] {"TLSv1.2"});
sslSocket.setEnabledCipherSuites(new String[] {"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"});
# Test your TCPSample with these modifications to see if the SSL handshake issue is resolved.
# For the second scenario, the error Cause: cannot recognise keyAlgorithm: 22 in JMeter might be related to the version compatibility of the JDK used with JMeter. You can try updating your JDK version or ensuring that the JDK version is compatible with JMeter. Additionally, make sure that the gradle dependencies you added are correct and compatible with JMeter 5.6.
# If the issue persists, you can try checking the JMeter logs for more detailed error messages or consult the JMeter documentation for troubleshooting this specific error.
幂等性(Idempotence)是指一个操作无论执行多少次,其效果都和执行一次是一样的。在分布式系统、网络通信、数据库事务等领域,幂等性是一个重要的概念,因为它可以确保系统的一致性和可靠性。
在你提到的场景中,我们可以这样理解幂等性:
第一次处理没有执行某个操作:这可能是因为操作依赖于某些条件或资源,而这些条件或资源在第一次尝试时并不满足或不可用。例如,在数据库操作中,可能是因为事务冲突或锁竞争导致操作未能执行。
第二次重试又执行某个操作:在第一次操作未能成功执行后,系统可能会自动或手动触发重试机制。如果操作是幂等的,那么即使重试,也不会对系统状态产生不良影响。
常见于有缓存的地方,缓存失效后会重新执行:在很多系统中,为了提高性能,会使用缓存来存储一些数据。当缓存的数据失效(例如,由于数据更新或缓存过期)时,系统需要重新从原始数据源获取数据并更新缓存。如果数据获取和更新操作是幂等的,那么即使在缓存失效后多次触发这些操作,也不会导致数据不一致或重复处理的问题。
幂等性的重要性在于:
在实际应用中,设计幂等的操作通常涉及到使用唯一事务 ID、检查操作是否已经执行过、确保操作的副作用有限等策略。这样,即使在复杂的系统交互中,也能够保持操作的确定性和可控性。
来自 AI 的回复
是的,可以这样的,顺手写了一个 pytest 的一些使用,https://testerhome.com/articles/39759, 仅供参考。
对这个问题的间接回答:
为什么一定都要参数化呢?专门写一个有 order id 的,其他错误的用参数化一下不行吗?
为了这个事情,其实花的时间更多了吧,比直接写个测试用例专门测有 order id 的场景。
对这个问题的直接回答:
@pytest.mark.parametrize
需要的是一个 set 的列表作为参数化列表
cases = CaseLoader.load_cases() ## load_cases可以让你的order api在这个里面调用
@user2ize("p1,P2", cases)
def test_abc():
test_it()
我还是来泼个冷水,很多问题要得到回答:
当然这种是和大佬学习的好机会,肯定支持。
吐槽一下,要不然您出一个节点选择指南?
问题不是语气,问题是为啥要吐槽这个地址没写的事情?不过感谢你把地址写出来了,然后呢?有人问你梯子,你教人怎么用梯子吗?
我只是自我感叹一下顺便在社区感叹一下. 你也没必要指责我吧。
解析出答案中的依赖 groupId 和 artifactId 等关键字段,把解析出的依赖在热点代码中查找,找到了说明大概率引出故障!
这种 NoClassDefFoundError 出来,然后不太知道 MAVEN 里面可能有问题,这个基本功其实真的不怎么样,当然你说用大模型能不能解决,肯定可以,用搜索其实也能解决,成本问题。
然后有一点小疑问就是,既然 NoClassDefFoundError 都不太知道可能哪里有问题的,为啥要去搞那些高难度的什么 AST,抽象语法树,直接代码分析,代码级别测试,如果能这么分析,我觉得还不如直接生成单元测试和集成测试来的直接呢,数据反正都能生成的,用例也能覆盖,为啥要绕着弯子去做一样的事情。
其实这个论坛对技术不太感兴趣的,怎么实践也是。这些离一般的测试的实际工作稍微有点远了。
那就不要用 JMETER 了。
看了这个标题时候的感受:
问题是: 研发提测质量导致测试工作量加大,因此公司内部开始推行测试对研发的提测质量打分,与研发的绩效考核相关。
对策是: 给研发提测质量进行打分, 请问这不会加大测试工作吗? 难道研发提测质量的提高只要政策一出就能马上改好吗?在没有改好之前,测试工作量是大了还是少了?
看了 测试对开发质量标准的感受:
当然一笑而过,只求大家都不要太为难相互,出问题之后可能有很多原因的,太宽泛的提测质量不好一句话很难说清楚,没有具体的东西的话,之后怎么评估提测质量好了呢?工作不要搞得像仇家一样。
支持
做完这些应为不太确定是不是完全正确,然后需要测试再全量回归一下,有时想想测试确实痛苦,这本来就是不存在的事情。及不重要又不紧急的事情,最后被推到了又紧张,又紧急的事情。关键是万一问题还要背锅,没出问题都是应该的。测试开发何苦折腾测试呢。 就这个事情,和代码重构真的不在一个维度上的,代码根本就没有重构, 重构什么了?那个 Bean 还是那个 Bean,只不过是编译的时候把 GET/SET 方法给自己生成了而已,对代码没有做任何形式的重构。
提高效率是好事,但是提高到代码重构工具,这肯定上不合适的,这肯定说不上重构,哪怕一点都说不上。
用@Data和用 IDE 直接生成 GET/SET 没大区别,就是看着烦了点,但是 Lombak 说不定还存在点坑,然后不只不觉的就引入了风险。
一切都是矛盾呀,一面说管控变更,一面一动手就用代码改代码了, 代码改代码风险并不会小。
业务体量还不够复杂,这个确实,不过呢也不算太简单,同时业务体量这个东西很有迷惑性,是指功能多?还是指用户量多。如果用户量多,其实呢不一定用例多。业务复杂,使用人少,也可能用例很多,所以这个光一句业务体量不够复杂本身就不够清晰.
公司内某业务回归几万条用例的问题,需要精准测试,但是呢,重复的多少?没人愿意去重新搞搞清楚的可能也是有的?
另外为什么要全量回归呢?不是拆分了微服务了吗,不是敏捷小步快走吗?那么如果还是动一下要几万个 Case,那么微服务的意义在哪里,敏捷的意义在哪里,是不是先反思一下领域拆分问题?
如果精准到几千条,那我想问下,如果直接通过优先级是 P1-P2 的过滤一下筛选,几万条能过滤到几千条吗?然后这个几万条用例,一条用例的定义是什么?是一个步骤还是一个场景?
个人觉得更全面的了解一下实际情况对我做决定很有帮助,所以多问几个问题。先谢过!
我觉得这些都没有问题,我只是考虑我自己实际的情况分析,同时想看看如果要做怎么做成本更低,
好多对上英文你就不惊讶了,比如造数工厂, data factory,就这么个事情。
何必搞这么复杂呢?这样不行吗? 数据驱动就在最外面驱动好了
import unittest
from ddt import ddt, data
type = [1,2]
@ddt
class MyTestCase(unittest.TestCase):
courseClassify_list = [] #最终为[('data3', 'data4'),('data3', 'data4')]的状态
@data(*type)
def test_A(self,data):
# 执行A测试用例并向courseClassify_list插入数据
self.courseClassify_list.append(('data3', 'data4')) #共2条用例,都会生成一份('data3', 'data4')
print(self.courseClassify_list) # 验证是否成功插入数据
for item in self.courseClassify_list:
print(item)
if __name__ == '__main__':
unittest.main()
我觉得权责要对等,谁背锅谁负责,我都是直接说,我背锅那以后都是我负责,你们都得配合我,看整不死你们。。。。。。。。。